Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6179f79b78 | |||
| 60749c6653 | |||
| 9a0a11423d | |||
| 74c1e87c6b | |||
| 9ea914b370 | |||
| 1bb7228652 | |||
| 3dd92068cf | |||
| a83abcc872 | |||
| 70c22e93a3 |
@@ -1,3 +1,5 @@
|
||||
name: Sync workflows for GHES
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
@@ -22,5 +24,9 @@ jobs:
|
||||
working-directory: ./script/sync-ghes
|
||||
- run: |
|
||||
git add -A
|
||||
git commit -m "Updating GHES workflows"
|
||||
- run: git push
|
||||
if [ -z "$(git status --porcelain)" ]; then
|
||||
echo "No changes to commit"
|
||||
else
|
||||
git commit -m "Updating GHES workflows"
|
||||
fi
|
||||
- run: git push
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
name: Validate Data
|
||||
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
sync:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: "12"
|
||||
|
||||
- name: Validate workflows
|
||||
run: |
|
||||
npm ci
|
||||
npx ts-node-script ./index.ts
|
||||
working-directory: ./script/validate-data
|
||||
@@ -0,0 +1,19 @@
|
||||
---
|
||||
name: Greetings
|
||||
description: Greets users who are first time contributors to the repo
|
||||
categories: [Automation, SDLC]
|
||||
iconName: octicon smiley
|
||||
---
|
||||
name: Greetings
|
||||
|
||||
on: [pull_request, issues]
|
||||
|
||||
jobs:
|
||||
greeting:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/first-interaction@v1
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
issue-message: 'Message that will be displayed on users'' first issue'
|
||||
pr-message: 'Message that will be displayed on users'' first pr'
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
name: Labeler
|
||||
description: Labels pull requests based on the files changed
|
||||
categories: [Automation, SDLC]
|
||||
iconName: octicon tag
|
||||
---
|
||||
# This workflow will triage pull requests and apply a label based on the
|
||||
# paths that are modified in the pull request.
|
||||
#
|
||||
# To use this workflow, you will need to set up a .github/labeler.yml
|
||||
# file with configuration. For more information, see:
|
||||
# https://github.com/actions/labeler/blob/master/README.md
|
||||
|
||||
name: Labeler
|
||||
on: [pull_request]
|
||||
|
||||
jobs:
|
||||
label:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/labeler@v2
|
||||
with:
|
||||
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
@@ -1,32 +0,0 @@
|
||||
# This is a basic workflow that is manually triggered
|
||||
|
||||
name: Manual workflow
|
||||
|
||||
# Controls when the action will run. Workflow runs when manually triggered using the UI
|
||||
# or API.
|
||||
on:
|
||||
workflow_dispatch:
|
||||
# Inputs the workflow accepts.
|
||||
inputs:
|
||||
name:
|
||||
# Friendly description to be shown in the UI instead of 'name'
|
||||
description: 'Person to greet'
|
||||
# Default value if no value is explicitly provided
|
||||
default: 'World'
|
||||
# Input has to be provided for the workflow to run
|
||||
required: true
|
||||
# The data type of the input
|
||||
type: string
|
||||
|
||||
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||
jobs:
|
||||
# This workflow contains a single job called "greet"
|
||||
greet:
|
||||
# The type of runner that the job will run on
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
# Steps represent a sequence of tasks that will be executed as part of the job
|
||||
steps:
|
||||
# Runs a single command using the runners shell
|
||||
- name: Send greeting
|
||||
run: echo "Hello ${{ inputs.name }}"
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "Manual workflow",
|
||||
"description": "Simple workflow that is manually triggered.",
|
||||
"iconName": "octicon person",
|
||||
"categories": ["Automation"]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "Stale",
|
||||
"description": "Checks for stale issues and pull requests",
|
||||
"iconName": "octicon clock",
|
||||
"categories": ["Automation", "SDLC"]
|
||||
}
|
||||
+8
-10
@@ -1,24 +1,22 @@
|
||||
# This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time.
|
||||
#
|
||||
# You can adjust the behavior by modifying this file.
|
||||
# For more information, see:
|
||||
# https://github.com/actions/stale
|
||||
---
|
||||
name: Stale
|
||||
description: Checks for stale issues and pull requests
|
||||
categories: [Automation, SDLC]
|
||||
iconName: octicon clock
|
||||
---
|
||||
name: Mark stale issues and pull requests
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: $cron-daily
|
||||
- cron: "0 0 * * *"
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
issues: write
|
||||
pull-requests: write
|
||||
|
||||
steps:
|
||||
- uses: actions/stale@v5
|
||||
- uses: actions/stale@v1
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
stale-issue-message: 'Stale issue message'
|
||||
|
||||
-24
@@ -1,24 +0,0 @@
|
||||
name: Ada (GNAT)
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Set up GNAT toolchain
|
||||
run: >
|
||||
sudo apt-get update &&
|
||||
sudo apt-get install gnat gprbuild
|
||||
|
||||
- name: Build
|
||||
run: gprbuild -j0 -p
|
||||
+12
-11
@@ -1,10 +1,16 @@
|
||||
---
|
||||
name: Android CI
|
||||
description: Build an Android project with Gradle.
|
||||
categories: [Java, Mobile]
|
||||
iconName: android
|
||||
---
|
||||
name: Android CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -12,15 +18,10 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: set up JDK 11
|
||||
uses: actions/setup-java@v3
|
||||
- uses: actions/checkout@v2
|
||||
- name: set up JDK 1.8
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: '11'
|
||||
distribution: 'temurin'
|
||||
cache: gradle
|
||||
|
||||
- name: Grant execute permission for gradlew
|
||||
run: chmod +x gradlew
|
||||
java-version: 1.8
|
||||
- name: Build with Gradle
|
||||
run: ./gradlew build
|
||||
|
||||
+13
-8
@@ -1,13 +1,19 @@
|
||||
---
|
||||
name: Java with Ant
|
||||
description: Build and test a Java project with Apache Ant.
|
||||
categories: [Ant, Java]
|
||||
iconName: ant
|
||||
---
|
||||
# This workflow will build a Java project with Ant
|
||||
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-ant
|
||||
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-ant
|
||||
|
||||
name: Java CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -15,11 +21,10 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Set up JDK 11
|
||||
uses: actions/setup-java@v3
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up JDK 1.8
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: '11'
|
||||
distribution: 'temurin'
|
||||
java-version: 1.8
|
||||
- name: Build with Ant
|
||||
run: ant -noinput -buildfile build.xml
|
||||
|
||||
+86
@@ -0,0 +1,86 @@
|
||||
---
|
||||
name: Deploy to Amazon ECS
|
||||
description: Deploy a container to an Amazon ECS service powered by AWS Fargate or Amazon EC2.
|
||||
categories: []
|
||||
iconName: aws
|
||||
---
|
||||
# This workflow will build and push a new container image to Amazon ECR,
|
||||
# and then will deploy a new task definition to Amazon ECS, when a release is created
|
||||
#
|
||||
# To use this workflow, you will need to complete the following set-up steps:
|
||||
#
|
||||
# 1. Create an ECR repository to store your images.
|
||||
# For example: `aws ecr create-repository --repository-name my-ecr-repo --region us-east-2`.
|
||||
# Replace the value of `ECR_REPOSITORY` in the workflow below with your repository's name.
|
||||
# Replace the value of `aws-region` in the workflow below with your repository's region.
|
||||
#
|
||||
# 2. Create an ECS task definition, an ECS cluster, and an ECS service.
|
||||
# For example, follow the Getting Started guide on the ECS console:
|
||||
# https://us-east-2.console.aws.amazon.com/ecs/home?region=us-east-2#/firstRun
|
||||
# Replace the values for `service` and `cluster` in the workflow below with your service and cluster names.
|
||||
#
|
||||
# 3. Store your ECS task definition as a JSON file in your repository.
|
||||
# The format should follow the output of `aws ecs register-task-definition --generate-cli-skeleton`.
|
||||
# Replace the value of `task-definition` in the workflow below with your JSON file's name.
|
||||
# Replace the value of `container-name` in the workflow below with the name of the container
|
||||
# in the `containerDefinitions` section of the task definition.
|
||||
#
|
||||
# 4. Store an IAM user access key in GitHub Actions secrets named `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`.
|
||||
# See the documentation for each action used below for the recommended IAM policies for this IAM user,
|
||||
# and best practices on handling the access key credentials.
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [created]
|
||||
|
||||
name: Deploy to Amazon ECS
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
name: Deploy
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Configure AWS credentials
|
||||
uses: aws-actions/configure-aws-credentials@v1
|
||||
with:
|
||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
aws-region: us-east-2
|
||||
|
||||
- name: Login to Amazon ECR
|
||||
id: login-ecr
|
||||
uses: aws-actions/amazon-ecr-login@v1
|
||||
|
||||
- name: Build, tag, and push image to Amazon ECR
|
||||
id: build-image
|
||||
env:
|
||||
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
|
||||
ECR_REPOSITORY: my-ecr-repo
|
||||
IMAGE_TAG: ${{ github.sha }}
|
||||
run: |
|
||||
# Build a docker container and
|
||||
# push it to ECR so that it can
|
||||
# be deployed to ECS.
|
||||
docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG .
|
||||
docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
|
||||
echo "::set-output name=image::$ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG"
|
||||
|
||||
- name: Fill in the new image ID in the Amazon ECS task definition
|
||||
id: task-def
|
||||
uses: aws-actions/amazon-ecs-render-task-definition@v1
|
||||
with:
|
||||
task-definition: task-definition.json
|
||||
container-name: sample-app
|
||||
image: ${{ steps.build-image.outputs.image }}
|
||||
|
||||
- name: Deploy Amazon ECS task definition
|
||||
uses: aws-actions/amazon-ecs-deploy-task-definition@v1
|
||||
with:
|
||||
task-definition: ${{ steps.task-def.outputs.task-definition }}
|
||||
service: sample-app-service
|
||||
cluster: default
|
||||
wait-for-service-stability: true
|
||||
@@ -0,0 +1,52 @@
|
||||
---
|
||||
name: Deploy Node.js to Azure Web App
|
||||
description: Build a Node.js project and deploy it to an Azure Web App.
|
||||
categories: []
|
||||
iconName: azure
|
||||
---
|
||||
# This workflow will build and push a node.js application to an Azure Web App when a release is created.
|
||||
#
|
||||
# This workflow assumes you have already created the target Azure App Service web app.
|
||||
# For instructions see https://docs.microsoft.com/azure/app-service/app-service-plan-manage#create-an-app-service-plan
|
||||
#
|
||||
# To configure this workflow:
|
||||
#
|
||||
# 1. Set up a secret in your repository named AZURE_WEBAPP_PUBLISH_PROFILE with the value of your Azure publish profile.
|
||||
# For instructions on obtaining the publish profile see: https://docs.microsoft.com/azure/app-service/deploy-github-actions#configure-the-github-secret
|
||||
#
|
||||
# 2. Change the values for the AZURE_WEBAPP_NAME, AZURE_WEBAPP_PACKAGE_PATH and NODE_VERSION environment variables (below).
|
||||
#
|
||||
# For more information on GitHub Actions for Azure, refer to https://github.com/Azure/Actions
|
||||
# For more samples to get started with GitHub Action workflows to deploy to Azure, refer to https://github.com/Azure/actions-workflow-samples
|
||||
on:
|
||||
release:
|
||||
types: [created]
|
||||
|
||||
env:
|
||||
AZURE_WEBAPP_NAME: your-app-name # set this to your application's name
|
||||
AZURE_WEBAPP_PACKAGE_PATH: '.' # set this to the path to your web app project, defaults to the repository root
|
||||
NODE_VERSION: '10.x' # set this to the node version to use
|
||||
|
||||
jobs:
|
||||
build-and-deploy:
|
||||
name: Build and Deploy
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Use Node.js ${{ env.NODE_VERSION }}
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: ${{ env.NODE_VERSION }}
|
||||
- name: npm install, build, and test
|
||||
run: |
|
||||
# Build and test the project, then
|
||||
# deploy to Azure Web App.
|
||||
npm install
|
||||
npm run build --if-present
|
||||
npm run test --if-present
|
||||
- name: 'Deploy to Azure WebApp'
|
||||
uses: azure/webapps-deploy@v2
|
||||
with:
|
||||
app-name: ${{ env.AZURE_WEBAPP_NAME }}
|
||||
publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}
|
||||
package: ${{ env.AZURE_WEBAPP_PACKAGE_PATH }}
|
||||
+20
-17
@@ -1,17 +1,20 @@
|
||||
---
|
||||
name: Simple workflow
|
||||
description: Start with a file with the minimum necessary structure.
|
||||
categories: []
|
||||
iconName: blank
|
||||
---
|
||||
# This is a basic workflow to help you get started with Actions
|
||||
|
||||
name: CI
|
||||
|
||||
# Controls when the workflow will run
|
||||
# Controls when the action will run. Triggers the workflow on push or pull request
|
||||
# events but only for the master branch
|
||||
on:
|
||||
# Triggers the workflow on push or pull request events but only for the $default-branch branch
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
|
||||
# Allows you to run this workflow manually from the Actions tab
|
||||
workflow_dispatch:
|
||||
branches: [ master ]
|
||||
|
||||
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||
jobs:
|
||||
@@ -22,15 +25,15 @@ jobs:
|
||||
|
||||
# Steps represent a sequence of tasks that will be executed as part of the job
|
||||
steps:
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- uses: actions/checkout@v3
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
# Runs a single command using the runners shell
|
||||
- name: Run a one-line script
|
||||
run: echo Hello, world!
|
||||
# Runs a single command using the runners shell
|
||||
- name: Run a one-line script
|
||||
run: echo Hello, world!
|
||||
|
||||
# Runs a set of commands using the runners shell
|
||||
- name: Run a multi-line script
|
||||
run: |
|
||||
echo Add other actions to build,
|
||||
echo test, and deploy your project.
|
||||
# Runs a set of commands using the runners shell
|
||||
- name: Run a multi-line script
|
||||
run: |
|
||||
echo Add other actions to build,
|
||||
echo test, and deploy your project.
|
||||
|
||||
+9
-3
@@ -1,10 +1,16 @@
|
||||
---
|
||||
name: C/C++ with Make
|
||||
description: Build and test a C/C++ project using Make.
|
||||
categories: [C, C++]
|
||||
iconName: c-cpp
|
||||
---
|
||||
name: C/C++ CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -12,7 +18,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v2
|
||||
- name: configure
|
||||
run: ./configure
|
||||
- name: make
|
||||
|
||||
+9
-3
@@ -1,10 +1,16 @@
|
||||
---
|
||||
name: Clojure
|
||||
description: Build and test a Clojure project with Leiningen.
|
||||
categories: [Clojure, Java]
|
||||
iconName: clojure
|
||||
---
|
||||
name: Clojure CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -12,7 +18,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install dependencies
|
||||
run: lein deps
|
||||
- name: Run tests
|
||||
|
||||
@@ -1,75 +0,0 @@
|
||||
# This starter workflow is for a CMake project running on multiple platforms. There is a different starter workflow if you just want a single platform.
|
||||
# See: https://github.com/actions/starter-workflows/blob/main/ci/cmake-single-platform.yml
|
||||
name: CMake on multiple platforms
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
strategy:
|
||||
# Set fail-fast to false to ensure that feedback is delivered for all matrix combinations. Consider changing this to true when your workflow is stable.
|
||||
fail-fast: false
|
||||
|
||||
# Set up a matrix to run the following 3 configurations:
|
||||
# 1. <Windows, Release, latest MSVC compiler toolchain on the default runner image, default generator>
|
||||
# 2. <Linux, Release, latest GCC compiler toolchain on the default runner image, default generator>
|
||||
# 3. <Linux, Release, latest Clang compiler toolchain on the default runner image, default generator>
|
||||
#
|
||||
# To add more build types (Release, Debug, RelWithDebInfo, etc.) customize the build_type list.
|
||||
matrix:
|
||||
os: [ubuntu-latest, windows-latest]
|
||||
build_type: [Release]
|
||||
c_compiler: [gcc, clang, cl]
|
||||
include:
|
||||
- os: windows-latest
|
||||
c_compiler: cl
|
||||
cpp_compiler: cl
|
||||
- os: ubuntu-latest
|
||||
c_compiler: gcc
|
||||
cpp_compiler: g++
|
||||
- os: ubuntu-latest
|
||||
c_compiler: clang
|
||||
cpp_compiler: clang++
|
||||
exclude:
|
||||
- os: windows-latest
|
||||
c_compiler: gcc
|
||||
- os: windows-latest
|
||||
c_compiler: clang
|
||||
- os: ubuntu-latest
|
||||
c_compiler: cl
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Set reusable strings
|
||||
# Turn repeated input strings (such as the build output directory) into step outputs. These step outputs can be used throughout the workflow file.
|
||||
id: strings
|
||||
shell: bash
|
||||
run: |
|
||||
echo "build-output-dir=${{ github.workspace }}/build" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Configure CMake
|
||||
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
|
||||
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
|
||||
run: >
|
||||
cmake -B ${{ steps.strings.outputs.build-output-dir }}
|
||||
-DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }}
|
||||
-DCMAKE_C_COMPILER=${{ matrix.c_compiler }}
|
||||
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
|
||||
-S ${{ github.workspace }}
|
||||
|
||||
- name: Build
|
||||
# Build your program with the given configuration. Note that --config is needed because the default Windows generator is a multi-config generator (Visual Studio generator).
|
||||
run: cmake --build ${{ steps.strings.outputs.build-output-dir }} --config ${{ matrix.build_type }}
|
||||
|
||||
- name: Test
|
||||
working-directory: ${{ steps.strings.outputs.build-output-dir }}
|
||||
# Execute tests defined by the CMake configuration. Note that --build-config is needed because the default Windows generator is a multi-config generator (Visual Studio generator).
|
||||
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
|
||||
run: ctest --build-config ${{ matrix.build_type }}
|
||||
@@ -1,39 +0,0 @@
|
||||
# This starter workflow is for a CMake project running on a single platform. There is a different starter workflow if you need cross-platform coverage.
|
||||
# See: https://github.com/actions/starter-workflows/blob/main/ci/cmake-multi-platform.yml
|
||||
name: CMake on a single platform
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
|
||||
env:
|
||||
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
|
||||
BUILD_TYPE: Release
|
||||
|
||||
jobs:
|
||||
build:
|
||||
# The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac.
|
||||
# You can convert this to a matrix build if you need cross-platform coverage.
|
||||
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Configure CMake
|
||||
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
|
||||
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
|
||||
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
|
||||
|
||||
- name: Build
|
||||
# Build your program with the given configuration
|
||||
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
|
||||
|
||||
- name: Test
|
||||
working-directory: ${{github.workspace}}/build
|
||||
# Execute tests defined by the CMake configuration.
|
||||
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
|
||||
run: ctest -C ${{env.BUILD_TYPE}}
|
||||
|
||||
+9
-3
@@ -1,10 +1,16 @@
|
||||
---
|
||||
name: Crystal
|
||||
description: Build and test a Crystal project.
|
||||
categories: [Crystal]
|
||||
iconName: crystal
|
||||
---
|
||||
name: Crystal CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -15,7 +21,7 @@ jobs:
|
||||
image: crystallang/crystal
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install dependencies
|
||||
run: shards install
|
||||
- name: Run tests
|
||||
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
---
|
||||
name: Dart
|
||||
description: Build and test a Dart project with Pub.
|
||||
categories: [Dart]
|
||||
iconName: dart
|
||||
---
|
||||
name: Dart CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
container:
|
||||
image: google/dart:latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install dependencies
|
||||
run: pub get
|
||||
- name: Run tests
|
||||
run: pub run test
|
||||
+11
-5
@@ -1,10 +1,16 @@
|
||||
---
|
||||
name: Django
|
||||
description: Build and Test a Django Project
|
||||
categories: [Python, Django]
|
||||
iconName: django
|
||||
---
|
||||
name: Django CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -13,12 +19,12 @@ jobs:
|
||||
strategy:
|
||||
max-parallel: 4
|
||||
matrix:
|
||||
python-version: [3.7, 3.8, 3.9]
|
||||
python-version: [3.6, 3.7, 3.8]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@v3
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
- name: Install Dependencies
|
||||
|
||||
+9
-3
@@ -1,10 +1,16 @@
|
||||
---
|
||||
name: Docker image
|
||||
description: Build a Docker image to deploy, run, or push to a registry.
|
||||
categories: [Dockerfile]
|
||||
iconName: docker
|
||||
---
|
||||
name: Docker Image CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
|
||||
@@ -13,6 +19,6 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v2
|
||||
- name: Build the Docker image
|
||||
run: docker build . --file Dockerfile --tag my-image-name:$(date +%s)
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
---
|
||||
name: Publish Docker Container
|
||||
description: Build, test and push Docker image to GitHub Packages.
|
||||
categories: [Dockerfile]
|
||||
iconName: docker
|
||||
---
|
||||
name: Docker
|
||||
|
||||
on:
|
||||
push:
|
||||
# Publish `master` as Docker `latest` image.
|
||||
branches:
|
||||
- master
|
||||
|
||||
# Publish `v1.2.3` tags as releases.
|
||||
tags:
|
||||
- v*
|
||||
|
||||
# Run tests for any PRs.
|
||||
pull_request:
|
||||
|
||||
env:
|
||||
# TODO: Change variable to your image's name.
|
||||
IMAGE_NAME: image
|
||||
|
||||
jobs:
|
||||
# Run tests.
|
||||
# See also https://docs.docker.com/docker-hub/builds/automated-testing/
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Run tests
|
||||
run: |
|
||||
if [ -f docker-compose.test.yml ]; then
|
||||
docker-compose --file docker-compose.test.yml build
|
||||
docker-compose --file docker-compose.test.yml run sut
|
||||
else
|
||||
docker build . --file Dockerfile
|
||||
fi
|
||||
|
||||
# Push image to GitHub Packages.
|
||||
# See also https://docs.docker.com/docker-hub/builds/
|
||||
push:
|
||||
# Ensure test job passes before pushing image.
|
||||
needs: test
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
if: github.event_name == 'push'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Build image
|
||||
run: docker build . --file Dockerfile --tag $IMAGE_NAME
|
||||
|
||||
- name: Log into registry
|
||||
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login docker.pkg.github.com -u ${{ github.actor }} --password-stdin
|
||||
|
||||
- name: Push image
|
||||
run: |
|
||||
IMAGE_ID=docker.pkg.github.com/${{ github.repository }}/$IMAGE_NAME
|
||||
|
||||
# Change all uppercase to lowercase
|
||||
IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
|
||||
|
||||
# Strip git ref prefix from version
|
||||
VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,')
|
||||
|
||||
# Strip "v" prefix from tag name
|
||||
[[ "${{ github.ref }}" == "refs/tags/"* ]] && VERSION=$(echo $VERSION | sed -e 's/^v//')
|
||||
|
||||
# Use Docker `latest` tag convention
|
||||
[ "$VERSION" == "master" ] && VERSION=latest
|
||||
|
||||
echo IMAGE_ID=$IMAGE_ID
|
||||
echo VERSION=$VERSION
|
||||
|
||||
docker tag $IMAGE_NAME $IMAGE_ID:$VERSION
|
||||
docker push $IMAGE_ID:$VERSION
|
||||
@@ -0,0 +1,31 @@
|
||||
---
|
||||
name: .NET Core
|
||||
description: Build and test a .NET Core or ASP.NET Core project.
|
||||
categories: [C#, F#, Visual Basic, ASP, ASP.NET, .NET]
|
||||
iconName: dotnetcore
|
||||
---
|
||||
name: .NET Core
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Setup .NET Core
|
||||
uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
dotnet-version: 3.1.101
|
||||
- name: Install dependencies
|
||||
run: dotnet restore
|
||||
- name: Build
|
||||
run: dotnet build --configuration Release --no-restore
|
||||
- name: Test
|
||||
run: dotnet test --no-restore --verbosity normal
|
||||
@@ -1,28 +0,0 @@
|
||||
# This workflow will build a .NET project
|
||||
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net
|
||||
|
||||
name: .NET
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setup .NET
|
||||
uses: actions/setup-dotnet@v4
|
||||
with:
|
||||
dotnet-version: 8.0.x
|
||||
- name: Restore dependencies
|
||||
run: dotnet restore
|
||||
- name: Build
|
||||
run: dotnet build --no-restore
|
||||
- name: Test
|
||||
run: dotnet test --no-build --verbosity normal
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
name: Elixir
|
||||
description: Build and test an Elixir project with Mix.
|
||||
categories: [Elixir, Erlang]
|
||||
iconName: elixir
|
||||
---
|
||||
name: Elixir CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Setup elixir
|
||||
uses: actions/setup-elixir@v1
|
||||
with:
|
||||
elixir-version: 1.9.4 # Define the elixir version [required]
|
||||
otp-version: 22.2 # Define the OTP version [required]
|
||||
- name: Install Dependencies
|
||||
run: mix deps.get
|
||||
- name: Run Tests
|
||||
run: mix test
|
||||
+9
-6
@@ -1,13 +1,16 @@
|
||||
---
|
||||
name: Erlang
|
||||
description: Build and test an Erlang project with rebar.
|
||||
categories: [Erlang]
|
||||
iconName: erlang
|
||||
---
|
||||
name: Erlang CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
|
||||
@@ -19,7 +22,7 @@ jobs:
|
||||
image: erlang:22.0.7
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v2
|
||||
- name: Compile
|
||||
run: rebar3 compile
|
||||
- name: Run tests
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
name: Ruby Gem
|
||||
description: Pushes a Ruby Gem to RubyGems and GitHub Package Registry.
|
||||
categories: [Ruby, SDLC]
|
||||
iconName: ruby-gems
|
||||
---
|
||||
name: Ruby Gem
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build + Publish
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Ruby 2.6
|
||||
uses: actions/setup-ruby@v1
|
||||
with:
|
||||
version: 2.6.x
|
||||
|
||||
- name: Publish to GPR
|
||||
run: |
|
||||
mkdir -p $HOME/.gem
|
||||
touch $HOME/.gem/credentials
|
||||
chmod 0600 $HOME/.gem/credentials
|
||||
printf -- "---\n:github: Bearer ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
||||
gem build *.gemspec
|
||||
gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem
|
||||
env:
|
||||
GEM_HOST_API_KEY: ${{secrets.GPR_AUTH_TOKEN}}
|
||||
OWNER: username
|
||||
|
||||
- name: Publish to RubyGems
|
||||
run: |
|
||||
mkdir -p $HOME/.gem
|
||||
touch $HOME/.gem/credentials
|
||||
chmod 0600 $HOME/.gem/credentials
|
||||
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
||||
gem build *.gemspec
|
||||
gem push *.gem
|
||||
env:
|
||||
GEM_HOST_API_KEY: ${{secrets.RUBYGEMS_AUTH_TOKEN}}
|
||||
@@ -1,66 +0,0 @@
|
||||
# This workflow uses actions that are not certified by GitHub.
|
||||
# They are provided by a third-party and are governed by
|
||||
# separate terms of service, privacy policy, and support
|
||||
# documentation.
|
||||
|
||||
# This workflow lets you generate SLSA provenance file for your project.
|
||||
# The generation satisfies level 3 for the provenance requirements - see https://slsa.dev/spec/v0.1/requirements
|
||||
# The project is an initiative of the OpenSSF (openssf.org) and is developed at
|
||||
# https://github.com/slsa-framework/slsa-github-generator.
|
||||
# The provenance file can be verified using https://github.com/slsa-framework/slsa-verifier.
|
||||
# For more information about SLSA and how it improves the supply-chain, visit slsa.dev.
|
||||
|
||||
name: SLSA generic generator
|
||||
on:
|
||||
workflow_dispatch:
|
||||
release:
|
||||
types: [created]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
digests: ${{ steps.hash.outputs.digests }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
# ========================================================
|
||||
#
|
||||
# Step 1: Build your artifacts.
|
||||
#
|
||||
# ========================================================
|
||||
- name: Build artifacts
|
||||
run: |
|
||||
# These are some amazing artifacts.
|
||||
echo "artifact1" > artifact1
|
||||
echo "artifact2" > artifact2
|
||||
|
||||
# ========================================================
|
||||
#
|
||||
# Step 2: Add a step to generate the provenance subjects
|
||||
# as shown below. Update the sha256 sum arguments
|
||||
# to include all binaries that you generate
|
||||
# provenance for.
|
||||
#
|
||||
# ========================================================
|
||||
- name: Generate subject for provenance
|
||||
id: hash
|
||||
run: |
|
||||
set -euo pipefail
|
||||
|
||||
# List the artifacts the provenance will refer to.
|
||||
files=$(ls artifact*)
|
||||
# Generate the subjects (base64 encoded).
|
||||
echo "hashes=$(sha256sum $files | base64 -w0)" >> "${GITHUB_OUTPUT}"
|
||||
|
||||
provenance:
|
||||
needs: [build]
|
||||
permissions:
|
||||
actions: read # To read the workflow path.
|
||||
id-token: write # To sign the provenance.
|
||||
contents: write # To add assets to a release.
|
||||
uses: slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@v1.4.0
|
||||
with:
|
||||
base64-subjects: "${{ needs.build.outputs.digests }}"
|
||||
upload-assets: true # Optional: Upload to a new release
|
||||
@@ -1,38 +0,0 @@
|
||||
# This workflow uses actions that are not certified by GitHub.
|
||||
# They are provided by a third-party and are governed by
|
||||
# separate terms of service, privacy policy, and support
|
||||
# documentation.
|
||||
|
||||
# This workflow lets you compile your Go project using a SLSA3 compliant builder.
|
||||
# This workflow will generate a so-called "provenance" file describing the steps
|
||||
# that were performed to generate the final binary.
|
||||
# The project is an initiative of the OpenSSF (openssf.org) and is developed at
|
||||
# https://github.com/slsa-framework/slsa-github-generator.
|
||||
# The provenance file can be verified using https://github.com/slsa-framework/slsa-verifier.
|
||||
# For more information about SLSA and how it improves the supply-chain, visit slsa.dev.
|
||||
|
||||
name: SLSA Go releaser
|
||||
on:
|
||||
workflow_dispatch:
|
||||
release:
|
||||
types: [created]
|
||||
|
||||
permissions: read-all
|
||||
|
||||
jobs:
|
||||
# ========================================================================================================================================
|
||||
# Prerequesite: Create a .slsa-goreleaser.yml in the root directory of your project.
|
||||
# See format in https://github.com/slsa-framework/slsa-github-generator/blob/main/internal/builders/go/README.md#configuration-file
|
||||
#=========================================================================================================================================
|
||||
build:
|
||||
permissions:
|
||||
id-token: write # To sign.
|
||||
contents: write # To upload release assets.
|
||||
actions: read # To read workflow path.
|
||||
uses: slsa-framework/slsa-github-generator/.github/workflows/builder_go_slsa3.yml@v1.4.0
|
||||
with:
|
||||
go-version: 1.17
|
||||
# =============================================================================================================
|
||||
# Optional: For more options, see https://github.com/slsa-framework/slsa-github-generator#golang-projects
|
||||
# =============================================================================================================
|
||||
|
||||
@@ -1,28 +1,43 @@
|
||||
# This workflow will build a golang project
|
||||
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go
|
||||
|
||||
---
|
||||
name: Go
|
||||
description: Build a Go project.
|
||||
categories: [Go]
|
||||
iconName: go
|
||||
---
|
||||
name: Go
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
|
||||
build:
|
||||
name: Build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@v4
|
||||
- name: Set up Go 1.x
|
||||
uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: '1.20'
|
||||
go-version: ^1.13
|
||||
id: go
|
||||
|
||||
- name: Check out code into the Go module directory
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Get dependencies
|
||||
run: |
|
||||
go get -v -t -d ./...
|
||||
if [ -f Gopkg.toml ]; then
|
||||
curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
|
||||
dep ensure
|
||||
fi
|
||||
|
||||
- name: Build
|
||||
run: go build -v ./...
|
||||
run: go build -v .
|
||||
|
||||
- name: Test
|
||||
run: go test -v ./...
|
||||
run: go test -v .
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
---
|
||||
name: Build and Deploy to GKE
|
||||
description: Build a docker container, publish it to Google Container Registry, and deploy to GKE.
|
||||
categories: []
|
||||
iconName: googlegke
|
||||
---
|
||||
# This workflow will build a docker container, publish it to Google Container Registry, and deploy it to GKE when a release is created
|
||||
#
|
||||
# To configure this workflow:
|
||||
#
|
||||
# 1. Ensure that your repository contains the necessary configuration for your Google Kubernetes Engine cluster, including deployment.yml, kustomization.yml, service.yml, etc.
|
||||
#
|
||||
# 2. Set up secrets in your workspace: GKE_PROJECT with the name of the project, GKE_EMAIL with the service account email, GKE_KEY with the Base64 encoded JSON service account key (https://github.com/GoogleCloudPlatform/github-actions/tree/docs/service-account-key/setup-gcloud#inputs).
|
||||
#
|
||||
# 3. Change the values for the GKE_ZONE, GKE_CLUSTER, IMAGE, REGISTRY_HOSTNAME and DEPLOYMENT_NAME environment variables (below).
|
||||
|
||||
name: Build and Deploy to GKE
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [created]
|
||||
|
||||
# Environment variables available to all jobs and steps in this workflow
|
||||
env:
|
||||
GKE_PROJECT: ${{ secrets.GKE_PROJECT }}
|
||||
GKE_EMAIL: ${{ secrets.GKE_EMAIL }}
|
||||
GITHUB_SHA: ${{ github.sha }}
|
||||
GKE_ZONE: us-west1-a
|
||||
GKE_CLUSTER: example-gke-cluster
|
||||
IMAGE: gke-test
|
||||
REGISTRY_HOSTNAME: gcr.io
|
||||
DEPLOYMENT_NAME: gke-test
|
||||
|
||||
jobs:
|
||||
setup-build-publish-deploy:
|
||||
name: Setup, Build, Publish, and Deploy
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
# Setup gcloud CLI
|
||||
- uses: GoogleCloudPlatform/github-actions/setup-gcloud@master
|
||||
with:
|
||||
version: '270.0.0'
|
||||
service_account_email: ${{ secrets.GKE_EMAIL }}
|
||||
service_account_key: ${{ secrets.GKE_KEY }}
|
||||
|
||||
# Configure docker to use the gcloud command-line tool as a credential helper
|
||||
- run: |
|
||||
# Set up docker to authenticate
|
||||
# via gcloud command-line tool.
|
||||
gcloud auth configure-docker
|
||||
|
||||
# Build the Docker image
|
||||
- name: Build
|
||||
run: |
|
||||
docker build -t "$REGISTRY_HOSTNAME"/"$GKE_PROJECT"/"$IMAGE":"$GITHUB_SHA" \
|
||||
--build-arg GITHUB_SHA="$GITHUB_SHA" \
|
||||
--build-arg GITHUB_REF="$GITHUB_REF" .
|
||||
|
||||
# Push the Docker image to Google Container Registry
|
||||
- name: Publish
|
||||
run: |
|
||||
docker push $REGISTRY_HOSTNAME/$GKE_PROJECT/$IMAGE:$GITHUB_SHA
|
||||
|
||||
# Set up kustomize
|
||||
- name: Set up Kustomize
|
||||
run: |
|
||||
curl -o kustomize --location https://github.com/kubernetes-sigs/kustomize/releases/download/v3.1.0/kustomize_3.1.0_linux_amd64
|
||||
chmod u+x ./kustomize
|
||||
|
||||
# Deploy the Docker image to the GKE cluster
|
||||
- name: Deploy
|
||||
run: |
|
||||
gcloud container clusters get-credentials $GKE_CLUSTER --zone $GKE_ZONE --project $GKE_PROJECT
|
||||
./kustomize edit set image $REGISTRY_HOSTNAME/$GKE_PROJECT/$IMAGE:${GITHUB_SHA}
|
||||
./kustomize build . | kubectl apply -f -
|
||||
kubectl rollout status deployment/$DEPLOYMENT_NAME
|
||||
kubectl get services -o wide
|
||||
@@ -0,0 +1,39 @@
|
||||
---
|
||||
name: Publish Java Package with Gradle
|
||||
description: Build a Java Package using Gradle and publish to GitHub Packages.
|
||||
categories: [Java, Gradle]
|
||||
iconName: gradle
|
||||
---
|
||||
# This workflow will build a package using Gradle and then publish it to GitHub packages when a release is created
|
||||
# For more information see: https://github.com/actions/setup-java#publishing-using-gradle
|
||||
|
||||
name: Gradle Package
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [created]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up JDK 1.8
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 1.8
|
||||
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
|
||||
settings-path: ${{ github.workspace }} # location for the settings.xml file
|
||||
|
||||
- name: Build with Gradle
|
||||
run: gradle build
|
||||
|
||||
# The USERNAME and TOKEN need to correspond to the credentials environment variables used in
|
||||
# the publishing section of your build.gradle
|
||||
- name: Publish to GitHub Packages
|
||||
run: gradle publish
|
||||
env:
|
||||
USERNAME: ${{ github.actor }}
|
||||
TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
name: Java with Gradle
|
||||
description: Build and test a Java project using a Gradle wrapper script.
|
||||
categories: [Java, Gradle]
|
||||
iconName: gradle
|
||||
---
|
||||
# This workflow will build a Java project with Gradle
|
||||
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle
|
||||
|
||||
name: Java CI with Gradle
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up JDK 1.8
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 1.8
|
||||
- name: Grant execute permission for gradlew
|
||||
run: chmod +x gradlew
|
||||
- name: Build with Gradle
|
||||
run: ./gradlew build
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
name: Haskell
|
||||
description: Build and test a Haskell project with Cabal.
|
||||
categories: [Haskell]
|
||||
iconName: haskell
|
||||
---
|
||||
name: Haskell CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-haskell@v1
|
||||
with:
|
||||
ghc-version: '8.8.2'
|
||||
cabal-version: '3.0'
|
||||
|
||||
- name: Cache
|
||||
uses: actions/cache@v1
|
||||
env:
|
||||
cache-name: cache-cabal
|
||||
with:
|
||||
path: ~/.cabal
|
||||
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/*.cabal') }}-${{ hashFiles('**/cabal.project') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-build-${{ env.cache-name }}-
|
||||
${{ runner.os }}-build-
|
||||
${{ runner.os }}-
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
cabal update
|
||||
cabal build --only-dependencies --enable-tests --enable-benchmarks
|
||||
- name: Build
|
||||
run: cabal build --enable-tests --enable-benchmarks all
|
||||
- name: Run tests
|
||||
run: cabal test all
|
||||
+80
@@ -0,0 +1,80 @@
|
||||
---
|
||||
name: Build and Deploy to IKS
|
||||
description: Build a docker container, publish it to IBM Container Registry, and deploy to IKS.
|
||||
categories: []
|
||||
iconName: ibm
|
||||
---
|
||||
# This workflow will build a docker container, publish it to IBM Container Registry, and deploy it to IKS when a release is created
|
||||
#
|
||||
# To configure this workflow:
|
||||
#
|
||||
# 1. Ensure that your repository contains a Dockerfile
|
||||
# 2. Setup secrets in your repository by going to settings: Create ICR_NAMESPACE and IBM_CLOUD_API_KEY
|
||||
# 3. Change the values for the IBM_CLOUD_REGION, REGISTRY_HOSTNAME, IMAGE_NAME, IKS_CLUSTER, DEPLOYMENT_NAME, and PORT
|
||||
|
||||
name: Build and Deploy to IKS
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [created]
|
||||
|
||||
# Environment variables available to all jobs and steps in this workflow
|
||||
env:
|
||||
GITHUB_SHA: ${{ github.sha }}
|
||||
IBM_CLOUD_API_KEY: ${{ secrets.IBM_CLOUD_API_KEY }}
|
||||
IBM_CLOUD_REGION: us-south
|
||||
ICR_NAMESPACE: ${{ secrets.ICR_NAMESPACE }}
|
||||
REGISTRY_HOSTNAME: us.icr.io
|
||||
IMAGE_NAME: iks-test
|
||||
IKS_CLUSTER: example-iks-cluster-name-or-id
|
||||
DEPLOYMENT_NAME: iks-test
|
||||
PORT: 5001
|
||||
|
||||
jobs:
|
||||
setup-build-publish-deploy:
|
||||
name: Setup, Build, Publish, and Deploy
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
# Download and Install IBM Cloud CLI
|
||||
- name: Install IBM Cloud CLI
|
||||
run: |
|
||||
curl -fsSL https://clis.cloud.ibm.com/install/linux | sh
|
||||
ibmcloud --version
|
||||
ibmcloud config --check-version=false
|
||||
ibmcloud plugin install -f kubernetes-service
|
||||
ibmcloud plugin install -f container-registry
|
||||
|
||||
# Authenticate with IBM Cloud CLI
|
||||
- name: Authenticate with IBM Cloud CLI
|
||||
run: |
|
||||
ibmcloud login --apikey "${IBM_CLOUD_API_KEY}" -r "${IBM_CLOUD_REGION}" -g default
|
||||
ibmcloud cr region-set "${IBM_CLOUD_REGION}"
|
||||
ibmcloud cr login
|
||||
|
||||
# Build the Docker image
|
||||
- name: Build with Docker
|
||||
run: |
|
||||
docker build -t "$REGISTRY_HOSTNAME"/"$ICR_NAMESPACE"/"$IMAGE_NAME":"$GITHUB_SHA" \
|
||||
--build-arg GITHUB_SHA="$GITHUB_SHA" \
|
||||
--build-arg GITHUB_REF="$GITHUB_REF" .
|
||||
|
||||
# Push the image to IBM Container Registry
|
||||
- name: Push the image to ICR
|
||||
run: |
|
||||
docker push $REGISTRY_HOSTNAME/$ICR_NAMESPACE/$IMAGE_NAME:$GITHUB_SHA
|
||||
|
||||
# Deploy the Docker image to the IKS cluster
|
||||
- name: Deploy to IKS
|
||||
run: |
|
||||
ibmcloud ks cluster config --cluster $IKS_CLUSTER
|
||||
kubectl config current-context
|
||||
kubectl create deployment $DEPLOYMENT_NAME --image=$REGISTRY_HOSTNAME/$ICR_NAMESPACE/$IMAGE_NAME:$GITHUB_SHA --dry-run -o yaml > deployment.yaml
|
||||
kubectl apply -f deployment.yaml
|
||||
kubectl rollout status deployment/$DEPLOYMENT_NAME
|
||||
kubectl create service loadbalancer $DEPLOYMENT_NAME --tcp=80:$PORT --dry-run -o yaml > service.yaml
|
||||
kubectl apply -f service.yaml
|
||||
kubectl get services -o wide
|
||||
-44
@@ -1,44 +0,0 @@
|
||||
name: iOS starter workflow
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build and Test default scheme using any available iPhone simulator
|
||||
runs-on: macos-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
- name: Set Default Scheme
|
||||
run: |
|
||||
scheme_list=$(xcodebuild -list -json | tr -d "\n")
|
||||
default=$(echo $scheme_list | ruby -e "require 'json'; puts JSON.parse(STDIN.gets)['project']['targets'][0]")
|
||||
echo $default | cat >default
|
||||
echo Using default scheme: $default
|
||||
- name: Build
|
||||
env:
|
||||
scheme: ${{ 'default' }}
|
||||
platform: ${{ 'iOS Simulator' }}
|
||||
run: |
|
||||
# xcrun xctrace returns via stderr, not the expected stdout (see https://developer.apple.com/forums/thread/663959)
|
||||
device=`xcrun xctrace list devices 2>&1 | grep -oE 'iPhone.*?[^\(]+' | head -1 | awk '{$1=$1;print}' | sed -e "s/ Simulator$//"`
|
||||
if [ $scheme = default ]; then scheme=$(cat default); fi
|
||||
if [ "`ls -A | grep -i \\.xcworkspace\$`" ]; then filetype_parameter="workspace" && file_to_build="`ls -A | grep -i \\.xcworkspace\$`"; else filetype_parameter="project" && file_to_build="`ls -A | grep -i \\.xcodeproj\$`"; fi
|
||||
file_to_build=`echo $file_to_build | awk '{$1=$1;print}'`
|
||||
xcodebuild build-for-testing -scheme "$scheme" -"$filetype_parameter" "$file_to_build" -destination "platform=$platform,name=$device"
|
||||
- name: Test
|
||||
env:
|
||||
scheme: ${{ 'default' }}
|
||||
platform: ${{ 'iOS Simulator' }}
|
||||
run: |
|
||||
# xcrun xctrace returns via stderr, not the expected stdout (see https://developer.apple.com/forums/thread/663959)
|
||||
device=`xcrun xctrace list devices 2>&1 | grep -oE 'iPhone.*?[^\(]+' | head -1 | awk '{$1=$1;print}' | sed -e "s/ Simulator$//"`
|
||||
if [ $scheme = default ]; then scheme=$(cat default); fi
|
||||
if [ "`ls -A | grep -i \\.xcworkspace\$`" ]; then filetype_parameter="workspace" && file_to_build="`ls -A | grep -i \\.xcworkspace\$`"; else filetype_parameter="project" && file_to_build="`ls -A | grep -i \\.xcodeproj\$`"; fi
|
||||
file_to_build=`echo $file_to_build | awk '{$1=$1;print}'`
|
||||
xcodebuild test-without-building -scheme "$scheme" -"$filetype_parameter" "$file_to_build" -destination "platform=$platform,name=$device"
|
||||
@@ -1,20 +0,0 @@
|
||||
name: Jekyll site CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Build the site in the jekyll/builder container
|
||||
run: |
|
||||
docker run \
|
||||
-v ${{ github.workspace }}:/srv/jekyll -v ${{ github.workspace }}/_site:/srv/jekyll/_site \
|
||||
jekyll/builder:latest /bin/bash -c "chmod -R 777 /srv/jekyll && jekyll build --future"
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: Jekyll
|
||||
description: Package a Jekyll site using the jekyll/builder Docker image.
|
||||
categories: [HTML]
|
||||
iconName: jekyll
|
||||
---
|
||||
name: Jekyll site CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Build the site in the jekyll/builder container
|
||||
run: |
|
||||
docker run \
|
||||
-v ${{ github.workspace }}:/srv/jekyll -v ${{ github.workspace }}/_site:/srv/jekyll/_site \
|
||||
jekyll/builder:latest /bin/bash -c "chmod 777 /srv/jekyll && jekyll build --future"
|
||||
@@ -0,0 +1,38 @@
|
||||
---
|
||||
name: Laravel
|
||||
description: Test a Laravel project.
|
||||
categories: [PHP, Laravel]
|
||||
iconName: php
|
||||
---
|
||||
name: Laravel
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
laravel-tests:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Copy .env
|
||||
run: php -r "file_exists('.env') || copy('.env.example', '.env');"
|
||||
- name: Install Dependencies
|
||||
run: composer install -q --no-ansi --no-interaction --no-scripts --no-suggest --no-progress --prefer-dist
|
||||
- name: Generate key
|
||||
run: php artisan key:generate
|
||||
- name: Directory Permissions
|
||||
run: chmod -R 777 storage bootstrap/cache
|
||||
- name: Create Database
|
||||
run: |
|
||||
mkdir -p database
|
||||
touch database/database.sqlite
|
||||
- name: Execute tests (Unit and Feature tests) via PHPUnit
|
||||
env:
|
||||
DB_CONNECTION: sqlite
|
||||
DB_DATABASE: database/database.sqlite
|
||||
run: vendor/bin/phpunit
|
||||
@@ -1,27 +0,0 @@
|
||||
name: Makefile CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: configure
|
||||
run: ./configure
|
||||
|
||||
- name: Install dependencies
|
||||
run: make
|
||||
|
||||
- name: Run check
|
||||
run: make check
|
||||
|
||||
- name: Run distcheck
|
||||
run: make distcheck
|
||||
+12
-10
@@ -1,5 +1,11 @@
|
||||
---
|
||||
name: Publish Java Package with Maven
|
||||
description: Build a Java Package using Maven and publish to GitHub Packages.
|
||||
categories: [Java, Maven]
|
||||
iconName: maven
|
||||
---
|
||||
# This workflow will build a package using Maven and then publish it to GitHub packages when a release is created
|
||||
# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#apache-maven-with-a-settings-path
|
||||
# For more information see: https://github.com/actions/setup-java#apache-maven-with-a-settings-path
|
||||
|
||||
name: Maven Package
|
||||
|
||||
@@ -11,17 +17,13 @@ jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Set up JDK 11
|
||||
uses: actions/setup-java@v3
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up JDK 1.8
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: '11'
|
||||
distribution: 'temurin'
|
||||
java-version: 1.8
|
||||
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
|
||||
settings-path: ${{ github.workspace }} # location for the settings.xml file
|
||||
|
||||
@@ -31,4 +33,4 @@ jobs:
|
||||
- name: Publish to GitHub Packages Apache Maven
|
||||
run: mvn deploy -s $GITHUB_WORKSPACE/settings.xml
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ github.token }}
|
||||
GITHUB_TOKEN: ${{ github.token }}
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
name: Java with Maven
|
||||
description: Build and test a Java project with Apache Maven.
|
||||
categories: [Java, Maven]
|
||||
iconName: maven
|
||||
---
|
||||
# This workflow will build a Java project with Maven
|
||||
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
|
||||
|
||||
name: Java CI with Maven
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up JDK 1.8
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 1.8
|
||||
- name: Build with Maven
|
||||
run: mvn -B package --file pom.xml
|
||||
+13
-9
@@ -1,13 +1,19 @@
|
||||
# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
|
||||
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs
|
||||
---
|
||||
name: Node.js
|
||||
description: Build and test a Node.js project with npm.
|
||||
categories: [JavaScript, Node, Npm]
|
||||
iconName: nodejs
|
||||
---
|
||||
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
|
||||
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
|
||||
|
||||
name: Node.js CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -16,16 +22,14 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [14.x, 16.x, 18.x]
|
||||
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
||||
node-version: [10.x, 12.x]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v2
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v3
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
cache: 'npm'
|
||||
- run: npm ci
|
||||
- run: npm run build --if-present
|
||||
- run: npm test
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
name: NodeJS with Grunt
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [14.x, 16.x, 18.x]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
npm install
|
||||
grunt
|
||||
@@ -1,28 +0,0 @@
|
||||
name: NodeJS with Gulp
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [14.x, 16.x, 18.x]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
npm install
|
||||
gulp
|
||||
@@ -1,36 +0,0 @@
|
||||
# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
|
||||
# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
|
||||
|
||||
name: Node.js Package
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [created]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 16
|
||||
- run: npm ci
|
||||
- run: npm test
|
||||
|
||||
publish-gpr:
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 16
|
||||
registry-url: $registry-url(npm)
|
||||
- run: npm ci
|
||||
- run: npm publish
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
||||
+27
-7
@@ -1,5 +1,11 @@
|
||||
---
|
||||
name: Publish Node.js Package
|
||||
description: Publishes a Node.js package to npm and GitHub Packages.
|
||||
categories: [JavaScript, SDLC]
|
||||
iconName: node-package-transparent
|
||||
---
|
||||
# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
|
||||
# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
|
||||
# For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages
|
||||
|
||||
name: Node.js Package
|
||||
|
||||
@@ -11,10 +17,10 @@ jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 16
|
||||
node-version: 12
|
||||
- run: npm ci
|
||||
- run: npm test
|
||||
|
||||
@@ -22,12 +28,26 @@ jobs:
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 16
|
||||
node-version: 12
|
||||
registry-url: https://registry.npmjs.org/
|
||||
- run: npm ci
|
||||
- run: npm publish
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{secrets.npm_token}}
|
||||
|
||||
publish-gpr:
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 12
|
||||
registry-url: https://npm.pkg.github.com/
|
||||
- run: npm ci
|
||||
- run: npm publish
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
name: Xcode - Build and Analyze
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build and analyse default scheme using xcodebuild command
|
||||
runs-on: macos-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
- name: Set Default Scheme
|
||||
run: |
|
||||
scheme_list=$(xcodebuild -list -json | tr -d "\n")
|
||||
default=$(echo $scheme_list | ruby -e "require 'json'; puts JSON.parse(STDIN.gets)['project']['targets'][0]")
|
||||
echo $default | cat >default
|
||||
echo Using default scheme: $default
|
||||
- name: Build
|
||||
env:
|
||||
scheme: ${{ 'default' }}
|
||||
run: |
|
||||
if [ $scheme = default ]; then scheme=$(cat default); fi
|
||||
if [ "`ls -A | grep -i \\.xcworkspace\$`" ]; then filetype_parameter="workspace" && file_to_build="`ls -A | grep -i \\.xcworkspace\$`"; else filetype_parameter="project" && file_to_build="`ls -A | grep -i \\.xcodeproj\$`"; fi
|
||||
file_to_build=`echo $file_to_build | awk '{$1=$1;print}'`
|
||||
xcodebuild clean build analyze -scheme "$scheme" -"$filetype_parameter" "$file_to_build" | xcpretty && exit ${PIPESTATUS[0]}
|
||||
+10
-16
@@ -1,13 +1,16 @@
|
||||
---
|
||||
name: PHP
|
||||
description: Build and test a PHP application using Composer
|
||||
categories: [PHP, Composer]
|
||||
iconName: php
|
||||
---
|
||||
name: PHP Composer
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -15,19 +18,10 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Validate composer.json and composer.lock
|
||||
run: composer validate --strict
|
||||
|
||||
- name: Cache Composer packages
|
||||
id: composer-cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: vendor
|
||||
key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-php-
|
||||
run: composer validate
|
||||
|
||||
- name: Install dependencies
|
||||
run: composer install --prefer-dist --no-progress
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "Ada",
|
||||
"description": "Build Ada project with GPRbuild.",
|
||||
"iconName": "ada",
|
||||
"categories": ["Continuous integration", "Ada"]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "Android CI",
|
||||
"description": "Build an Android project with Gradle.",
|
||||
"iconName": "android",
|
||||
"categories": ["Continuous integration", "Java", "Mobile"]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "Java with Ant",
|
||||
"description": "Build and test a Java project with Apache Ant.",
|
||||
"iconName": "ant",
|
||||
"categories": ["Continuous integration", "Ant", "Java"]
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"name": "Simple workflow",
|
||||
"description": "Start with a file with the minimum necessary structure.",
|
||||
"creator": "GitHub",
|
||||
"iconName": "blank",
|
||||
"categories": null
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "C/C++ with Make",
|
||||
"description": "Build and test a C/C++ project using Make.",
|
||||
"iconName": "c-cpp",
|
||||
"categories": ["Continuous integration", "C", "C++"]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "Clojure",
|
||||
"description": "Build and test a Clojure project with Leiningen.",
|
||||
"iconName": "clojure",
|
||||
"categories": ["Continuous integration", "Clojure", "Java"]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "CMake based, multi-platform projects",
|
||||
"description": "Build and test a CMake based project on multiple platforms.",
|
||||
"iconName": "cmake",
|
||||
"categories": ["Continuous integration", "C", "C++"]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "CMake based, single-platform projects",
|
||||
"description": "Build and test a CMake based project on a single-platform.",
|
||||
"iconName": "cmake",
|
||||
"categories": ["Continuous integration", "C", "C++"]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "Crystal",
|
||||
"description": "Build and test a Crystal project.",
|
||||
"iconName": "crystal",
|
||||
"categories": ["Continuous integration", "Crystal"]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "Django",
|
||||
"description": "Build and Test a Django Project",
|
||||
"iconName": "django",
|
||||
"categories": ["Continuous integration", "Python", "Django"]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "Docker image",
|
||||
"description": "Build a Docker image to deploy, run, or push to a registry.",
|
||||
"iconName": "docker",
|
||||
"categories": ["Continuous integration", "Dockerfile"]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": ".NET",
|
||||
"description": "Build and test a .NET or ASP.NET Core project.",
|
||||
"iconName": "dotnet",
|
||||
"categories": ["Continuous integration", "C#", "F#", "Visual Basic", "ASP", "ASP.NET", ".NET", "AspNetCore", "DotNetConsole"]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "Erlang",
|
||||
"description": "Build and test an Erlang project with rebar.",
|
||||
"iconName": "erlang",
|
||||
"categories": ["Continuous integration", "Erlang"]
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"name": "SLSA Generic generator",
|
||||
"creator": "Open Source Security Foundation (OpenSSF)",
|
||||
"description": "Generate SLSA3 provenance for your existing release workflows",
|
||||
"iconName": "generator-generic-ossf-slsa3-publish",
|
||||
"categories": ["Continuous integration", "Go", "Elixir", "Erlang", "PHP", "Haskell", "Rust", "Java", "Scala", "Gradle", "Maven", "Python", "C", "C++", "TypeScript", "JavaScript", "npm", "Ruby", "HTML", "Composer", "Makefile", "Ada"]
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"name": "SLSA Go releaser",
|
||||
"creator": "Open Source Security Foundation (OpenSSF)",
|
||||
"description": "Compile your Go project using a SLSA3 compliant builder",
|
||||
"iconName": "go-ossf-slsa3-publish",
|
||||
"categories": ["Continuous integration", "Go"]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "Go",
|
||||
"description": "Build a Go project.",
|
||||
"iconName": "go",
|
||||
"categories": ["Continuous integration", "Go"]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"name": "iOS",
|
||||
"description": "Build and test an iOS application using xcodebuild and any available iPhone simulator.",
|
||||
"iconName": "xcode",
|
||||
"categories": [
|
||||
"Continuous integration",
|
||||
"iOS",
|
||||
"Xcode"
|
||||
]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "Jekyll using Docker image",
|
||||
"description": "Package a Jekyll site using the jekyll/builder Docker image.",
|
||||
"iconName": "jekyll",
|
||||
"categories": ["Continuous integration", "HTML"]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "Build projects with Make",
|
||||
"description": "Build and test a project using Make.",
|
||||
"iconName": "makefile",
|
||||
"categories": ["Continuous integration", "Makefile"]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "Publish Java Package with Maven",
|
||||
"description": "Build a Java Package using Maven and publish to GitHub Packages.",
|
||||
"iconName": "maven",
|
||||
"categories": ["Continuous integration", "Java", "Maven", "Spring", "JSF"]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "Node.js",
|
||||
"description": "Build and test a Node.js project with npm.",
|
||||
"iconName": "nodejs",
|
||||
"categories": ["Continuous integration", "JavaScript", "npm", "React", "Angular", "Vue"]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "Grunt",
|
||||
"description": "Build a NodeJS project with npm and grunt.",
|
||||
"iconName": "grunt",
|
||||
"categories": ["Continuous integration", "JavaScript", "TypeScript", "npm", "Grunt"]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "Gulp",
|
||||
"description": "Build a NodeJS project with npm and gulp.",
|
||||
"iconName": "gulp",
|
||||
"categories": ["Continuous integration", "JavaScript", "TypeScript", "npm", "Gulp"]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "Publish Node.js Package to GitHub Packages",
|
||||
"description": "Publishes a Node.js package to GitHub Packages.",
|
||||
"iconName": "node-package-transparent",
|
||||
"categories": ["Continuous integration", "JavaScript", "npm"]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "Publish Node.js Package",
|
||||
"description": "Publishes a Node.js package to npm.",
|
||||
"iconName": "node-package-transparent",
|
||||
"categories": ["Continuous integration", "JavaScript", "npm"]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "Xcode - Build and Analyze",
|
||||
"description": "Build Xcode project using xcodebuild",
|
||||
"iconName": "xcode",
|
||||
"categories": ["Continuous integration", "Xcode", "Objective-C"]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "PHP",
|
||||
"description": "Build and test a PHP application using Composer",
|
||||
"iconName": "php",
|
||||
"categories": ["Continuous integration", "PHP", "Composer"]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "Pylint",
|
||||
"description": "Lint a Python application with pylint.",
|
||||
"iconName": "python",
|
||||
"categories": ["Continuous integration", "Python", "Bottle", "Flask"]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "Python application",
|
||||
"description": "Create and test a Python application.",
|
||||
"iconName": "python",
|
||||
"categories": ["Continuous integration", "Python", "Bottle", "Flask"]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "Python Package using Anaconda",
|
||||
"description": "Create and test a Python package on multiple Python versions using Anaconda for package management.",
|
||||
"iconName": "python",
|
||||
"categories": ["Continuous integration", "Python"]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "Python package",
|
||||
"description": "Create and test a Python package on multiple Python versions.",
|
||||
"iconName": "python",
|
||||
"categories": ["Continuous integration", "Python", "Bottle", "Flask"]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "Rust",
|
||||
"description": "Build and test a Rust project with Cargo.",
|
||||
"iconName": "rust",
|
||||
"categories": ["Continuous integration", "Rust"]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "Swift",
|
||||
"description": "Build and test a Swift Package.",
|
||||
"iconName": "swift",
|
||||
"categories": ["Continuous integration", "Swift"]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "Webpack",
|
||||
"description": "Build a NodeJS project with npm and webpack.",
|
||||
"iconName": "webpack",
|
||||
"categories": ["Continuous integration", "JavaScript", "TypeScript", "npm", "Webpack"]
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
name: Pylint
|
||||
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: ["3.8", "3.9", "3.10"]
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install pylint
|
||||
- name: Analysing the code with pylint
|
||||
run: |
|
||||
pylint $(git ls-files '*.py')
|
||||
+13
-10
@@ -1,16 +1,19 @@
|
||||
---
|
||||
name: Python application
|
||||
description: Create and test a Python application.
|
||||
categories: [Python]
|
||||
iconName: python
|
||||
---
|
||||
# This workflow will install Python dependencies, run tests and lint with a single version of Python
|
||||
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
|
||||
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
|
||||
|
||||
name: Python application
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -18,11 +21,11 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Set up Python 3.10
|
||||
uses: actions/setup-python@v3
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Python 3.8
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: "3.10"
|
||||
python-version: 3.8
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
name: Python Package using Conda
|
||||
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
build-linux:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
max-parallel: 5
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Set up Python 3.10
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: '3.10'
|
||||
- name: Add conda to system path
|
||||
run: |
|
||||
# $CONDA is an environment variable pointing to the root of the miniconda directory
|
||||
echo $CONDA/bin >> $GITHUB_PATH
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
conda env update --file environment.yml --name base
|
||||
- name: Lint with flake8
|
||||
run: |
|
||||
conda install flake8
|
||||
# stop the build if there are Python syntax errors or undefined names
|
||||
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
|
||||
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
|
||||
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
|
||||
- name: Test with pytest
|
||||
run: |
|
||||
conda install pytest
|
||||
pytest
|
||||
+13
-8
@@ -1,33 +1,38 @@
|
||||
---
|
||||
name: Python package
|
||||
description: Create and test a Python package on multiple Python versions.
|
||||
categories: [Python]
|
||||
iconName: python
|
||||
---
|
||||
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
|
||||
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
|
||||
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
|
||||
|
||||
name: Python package
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python-version: ["3.9", "3.10", "3.11"]
|
||||
python-version: [3.5, 3.6, 3.7, 3.8]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@v3
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
python -m pip install flake8 pytest
|
||||
pip install flake8 pytest
|
||||
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
|
||||
- name: Lint with flake8
|
||||
run: |
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
---
|
||||
name: Publish Python Package
|
||||
description: Publish a Python Package to PyPI on release.
|
||||
categories: [Python]
|
||||
iconName: python
|
||||
---
|
||||
# This workflows will upload a Python Package using Twine when a release is created
|
||||
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries
|
||||
|
||||
name: Upload Python Package
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [created]
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: '3.x'
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install setuptools wheel twine
|
||||
- name: Build and publish
|
||||
env:
|
||||
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
|
||||
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
|
||||
run: |
|
||||
python setup.py sdist bdist_wheel
|
||||
twine upload dist/*
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
---
|
||||
name: Ruby
|
||||
description: Build and test a Ruby project with Rake.
|
||||
categories: [Ruby]
|
||||
iconName: ruby
|
||||
---
|
||||
# This workflow uses actions that are not certified by GitHub.
|
||||
# They are provided by a third-party and are governed by
|
||||
# separate terms of service, privacy policy, and support
|
||||
# documentation.
|
||||
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
|
||||
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
|
||||
|
||||
name: Ruby
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Ruby
|
||||
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
|
||||
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
||||
# uses: ruby/setup-ruby@v1
|
||||
uses: ruby/setup-ruby@ec106b438a1ff6ff109590de34ddc62c540232e0
|
||||
with:
|
||||
ruby-version: 2.6
|
||||
- name: Install dependencies
|
||||
run: bundle install
|
||||
- name: Run tests
|
||||
run: bundle exec rake
|
||||
+9
-6
@@ -1,13 +1,16 @@
|
||||
---
|
||||
name: Rust
|
||||
description: Build and test a Rust project with Cargo.
|
||||
categories: [Rust]
|
||||
iconName: rust
|
||||
---
|
||||
name: Rust
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
|
||||
env:
|
||||
CARGO_TERM_COLOR: always
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -15,7 +18,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v2
|
||||
- name: Build
|
||||
run: cargo build --verbose
|
||||
- name: Run tests
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
---
|
||||
name: Scala
|
||||
description: Build and test a Scala project with SBT.
|
||||
categories: [Scala, Java]
|
||||
iconName: scala
|
||||
---
|
||||
name: Scala CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up JDK 1.8
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 1.8
|
||||
- name: Run tests
|
||||
run: sbt test
|
||||
+9
-6
@@ -1,13 +1,16 @@
|
||||
# This workflow will build a Swift project
|
||||
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-swift
|
||||
|
||||
---
|
||||
name: Swift
|
||||
description: Build and test a Swift Package.
|
||||
categories: [Swift]
|
||||
iconName: swift
|
||||
---
|
||||
name: Swift
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -15,7 +18,7 @@ jobs:
|
||||
runs-on: macos-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v2
|
||||
- name: Build
|
||||
run: swift build -v
|
||||
- name: Run tests
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
---
|
||||
name: Tencent Kubernetes Engine
|
||||
description: This workflow will build a docker container, publish and deploy it to Tencent Kubernetes Engine (TKE).
|
||||
categories: []
|
||||
iconName: tencentcloud
|
||||
---
|
||||
# This workflow will build a docker container, publish and deploy it to Tencent Kubernetes Engine (TKE).
|
||||
#
|
||||
# To configure this workflow:
|
||||
#
|
||||
# 1. Ensure that your repository contains the necessary configuration for your Tencent Kubernetes Engine cluster,
|
||||
# including deployment.yml, kustomization.yml, service.yml, etc.
|
||||
#
|
||||
# 2. Set up secrets in your workspace:
|
||||
# - TENCENT_CLOUD_SECRET_ID with Tencent Cloud secret id
|
||||
# - TENCENT_CLOUD_SECRET_KEY with Tencent Cloud secret key
|
||||
# - TENCENT_CLOUD_ACCOUNT_ID with Tencent Cloud account id
|
||||
# - TKE_REGISTRY_PASSWORD with TKE registry password
|
||||
#
|
||||
# 3. Change the values for the TKE_IMAGE_URL, TKE_REGION, TKE_CLUSTER_ID and DEPLOYMENT_NAME environment variables (below).
|
||||
|
||||
name: Tencent Kubernetes Engine
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [created]
|
||||
|
||||
# Environment variables available to all jobs and steps in this workflow
|
||||
env:
|
||||
TKE_IMAGE_URL: ccr.ccs.tencentyun.com/demo/mywebapp
|
||||
TKE_REGION: ap-guangzhou
|
||||
TKE_CLUSTER_ID: cls-mywebapp
|
||||
DEPLOYMENT_NAME: tke-test
|
||||
|
||||
jobs:
|
||||
setup-build-publish-deploy:
|
||||
name: Setup, Build, Publish, and Deploy
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
# Build
|
||||
- name: Build Docker image
|
||||
run: |
|
||||
docker build -t ${TKE_IMAGE_URL}:${GITHUB_SHA} .
|
||||
|
||||
- name: Login TKE Registry
|
||||
run: |
|
||||
docker login -u ${{ secrets.TENCENT_CLOUD_ACCOUNT_ID }} -p ${{ secrets.TKE_REGISTRY_PASSWORD }} ${TKE_IMAGE_URL}
|
||||
|
||||
# Push the Docker image to TKE Registry
|
||||
- name: Publish
|
||||
run: |
|
||||
docker push ${TKE_IMAGE_URL}:${GITHUB_SHA}
|
||||
|
||||
- name: Set up Kustomize
|
||||
run: |
|
||||
curl -o kustomize --location https://github.com/kubernetes-sigs/kustomize/releases/download/v3.1.0/kustomize_3.1.0_linux_amd64
|
||||
chmod u+x ./kustomize
|
||||
|
||||
- name: Set up ~/.kube/config for connecting TKE cluster
|
||||
uses: TencentCloud/tke-cluster-credential-action@v1
|
||||
with:
|
||||
secret_id: ${{ secrets.TENCENT_CLOUD_SECRET_ID }}
|
||||
secret_key: ${{ secrets.TENCENT_CLOUD_SECRET_KEY }}
|
||||
tke_region: ${{ env.TKE_REGION }}
|
||||
cluster_id: ${{ env.TKE_CLUSTER_ID }}
|
||||
|
||||
- name: Switch to TKE context
|
||||
run: |
|
||||
kubectl config use-context ${TKE_CLUSTER_ID}-context-default
|
||||
|
||||
# Deploy the Docker image to the TKE cluster
|
||||
- name: Deploy
|
||||
run: |
|
||||
./kustomize edit set image ${TKE_IMAGE_URL}:${GITHUB_SHA}
|
||||
./kustomize build . | kubectl apply -f -
|
||||
kubectl rollout status deployment/${DEPLOYMENT_NAME}
|
||||
kubectl get services -o wide
|
||||
@@ -0,0 +1,96 @@
|
||||
---
|
||||
name: Terraform
|
||||
description: Set up Terraform CLI in your GitHub Actions workflow.
|
||||
categories: []
|
||||
iconName: terraform
|
||||
---
|
||||
# This workflow installs the latest version of Terraform CLI and configures the Terraform CLI configuration file
|
||||
# with an API token for Terraform Cloud (app.terraform.io). On pull request events, this workflow will run
|
||||
# `terraform init`, `terraform fmt`, and `terraform plan` (speculative plan via Terraform Cloud). On push events
|
||||
# to the master branch, `terraform apply` will be executed.
|
||||
#
|
||||
# Documentation for `hashicorp/setup-terraform` is located here: https://github.com/hashicorp/setup-terraform
|
||||
#
|
||||
# To use this workflow, you will need to complete the following setup steps.
|
||||
#
|
||||
# 1. Create a `main.tf` file in the root of this repository with the `remote` backend and one or more resources defined.
|
||||
# Example `main.tf`:
|
||||
# # The configuration for the `remote` backend.
|
||||
# terraform {
|
||||
# backend "remote" {
|
||||
# # The name of your Terraform Cloud organization.
|
||||
# organization = "example-organization"
|
||||
#
|
||||
# # The name of the Terraform Cloud workspace to store Terraform state files in.
|
||||
# workspaces {
|
||||
# name = "example-workspace"
|
||||
# }
|
||||
# }
|
||||
# }
|
||||
#
|
||||
# # An example resource that does nothing.
|
||||
# resource "null_resource" "example" {
|
||||
# triggers = {
|
||||
# value = "A example resource that does nothing!"
|
||||
# }
|
||||
# }
|
||||
#
|
||||
#
|
||||
# 2. Generate a Terraform Cloud user API token and store it as a GitHub secret (e.g. TF_API_TOKEN) on this repository.
|
||||
# Documentation:
|
||||
# - https://www.terraform.io/docs/cloud/users-teams-organizations/api-tokens.html
|
||||
# - https://help.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets
|
||||
#
|
||||
# 3. Reference the GitHub secret in step using the `hashicorp/setup-terraform` GitHub Action.
|
||||
# Example:
|
||||
# - name: Setup Terraform
|
||||
# uses: hashicorp/setup-terraform@v1
|
||||
# with:
|
||||
# cli_config_credentials_token: ${{ secrets.TF_API_TOKEN }}
|
||||
|
||||
name: 'Terraform'
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
terraform:
|
||||
name: 'Terraform'
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
# Use the Bash shell regardless whether the GitHub Actions runner is ubuntu-latest, macos-latest, or windows-latest
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
|
||||
# Checkout the repository to the GitHub Actions runner
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
# Install the latest version of Terraform CLI and configure the Terraform CLI configuration file with a Terraform Cloud user API token
|
||||
- name: Setup Terraform
|
||||
uses: hashicorp/setup-terraform@v1
|
||||
with:
|
||||
cli_config_credentials_token: ${{ secrets.TF_API_TOKEN }}
|
||||
|
||||
# Initialize a new or existing Terraform working directory by creating initial files, loading any remote state, downloading modules, etc.
|
||||
- name: Terraform Init
|
||||
run: terraform init
|
||||
|
||||
# Checks that all Terraform configuration files adhere to a canonical format
|
||||
- name: Terraform Format
|
||||
run: terraform fmt -check
|
||||
|
||||
# Generates an execution plan for Terraform
|
||||
- name: Terraform Plan
|
||||
run: terraform plan
|
||||
|
||||
# On push to master, build or change infrastructure according to Terraform configuration files
|
||||
# Note: It is recommended to set up a required "strict" status check in your repository for "Terraform Cloud". See the documentation on "strict" required status checks for more information: https://help.github.com/en/github/administering-a-repository/types-of-required-status-checks
|
||||
- name: Terraform Apply
|
||||
if: github.ref == 'refs/heads/master' && github.event_name == 'push'
|
||||
run: terraform apply -auto-approve
|
||||
@@ -1,28 +0,0 @@
|
||||
name: NodeJS with Webpack
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [14.x, 16.x, 18.x]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
npm install
|
||||
npx webpack
|
||||
@@ -0,0 +1,121 @@
|
||||
---
|
||||
name: WPF .NET Core
|
||||
description: Build, test and publish a Wpf application built on .NET Core.
|
||||
categories: [C#, Visual Basic, WPF, .NET]
|
||||
iconName: dotnetcore
|
||||
---
|
||||
# This workflow uses actions that are not certified by GitHub.
|
||||
# They are provided by a third-party and are governed by
|
||||
# separate terms of service, privacy policy, and support
|
||||
# documentation.
|
||||
|
||||
# This workflow will build, test and package a WPF desktop application
|
||||
# built on .NET Core.
|
||||
# To learn how to migrate your existing WPF application to .NET Core,
|
||||
# refer to https://docs.microsoft.com/en-us/dotnet/desktop-wpf/migration/convert-project-from-net-framework
|
||||
#
|
||||
# To configure this workflow:
|
||||
#
|
||||
# 1. Configure environment variables
|
||||
# GitHub sets default environment variables for every workflow run.
|
||||
# Replace the variables relative to your project in the "env" section below.
|
||||
#
|
||||
# 2. Signing
|
||||
# Generate a signing certificate in the Windows Application
|
||||
# Packaging Project or add an existing signing certificate to the project.
|
||||
# Next, use PowerShell to encode the .pfx file using Base64 encoding
|
||||
# by running the following Powershell script to generate the output string:
|
||||
#
|
||||
# $pfx_cert = Get-Content '.\SigningCertificate.pfx' -Encoding Byte
|
||||
# [System.Convert]::ToBase64String($pfx_cert) | Out-File 'SigningCertificate_Encoded.txt'
|
||||
#
|
||||
# Open the output file, SigningCertificate_Encoded.txt, and copy the
|
||||
# string inside. Then, add the string to the repo as a GitHub secret
|
||||
# and name it "Base64_Encoded_Pfx."
|
||||
# For more information on how to configure your signing certificate for
|
||||
# this workflow, refer to https://github.com/microsoft/github-actions-for-desktop-apps#signing
|
||||
#
|
||||
# Finally, add the signing certificate password to the repo as a secret and name it "Pfx_Key".
|
||||
# See "Build the Windows Application Packaging project" below to see how the secret is used.
|
||||
#
|
||||
# For more information on GitHub Actions, refer to https://github.com/features/actions
|
||||
# For a complete CI/CD sample to get started with GitHub Action workflows for Desktop Applications,
|
||||
# refer to https://github.com/microsoft/github-actions-for-desktop-apps
|
||||
|
||||
name: WPF .NET Core
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
|
||||
build:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
configuration: [Debug, Release]
|
||||
|
||||
runs-on: windows-latest # For a list of available runner types, refer to
|
||||
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on
|
||||
|
||||
env:
|
||||
Solution_Name: your-solution-name # Replace with your solution name, i.e. MyWpfApp.sln.
|
||||
Test_Project_Path: your-test-project-path # Replace with the path to your test project, i.e. MyWpfApp.Tests\MyWpfApp.Tests.csproj.
|
||||
Wap_Project_Directory: your-wap-project-directory-name # Replace with the Wap project directory relative to the solution, i.e. MyWpfApp.Package.
|
||||
Wap_Project_Path: your-wap-project-path # Replace with the path to your Wap project, i.e. MyWpf.App.Package\MyWpfApp.Package.wapproj.
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
# Install the .NET Core workload
|
||||
- name: Install .NET Core
|
||||
uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
dotnet-version: 3.1.101
|
||||
|
||||
# Add MSBuild to the PATH: https://github.com/microsoft/setup-msbuild
|
||||
- name: Setup MSBuild.exe
|
||||
uses: microsoft/setup-msbuild@2008f912f56e61277eefaac6d1888b750582aa16
|
||||
|
||||
# Execute all unit tests in the solution
|
||||
- name: Execute unit tests
|
||||
run: dotnet test
|
||||
|
||||
# Restore the WPF application to populate the obj folder with RuntimeIdentifiers
|
||||
- name: Restore the WPF application
|
||||
run: msbuild $env:Solution_Name /t:Restore /p:Configuration=$env:Configuration
|
||||
env:
|
||||
Configuration: ${{ matrix.configuration }}
|
||||
|
||||
# Decode the base 64 encoded pfx and save the Signing_Certificate
|
||||
- name: Decode the pfx
|
||||
run: |
|
||||
$pfx_cert_byte = [System.Convert]::FromBase64String("${{ secrets.Base64_Encoded_Pfx }}")
|
||||
$certificatePath = Join-Path -Path $env:Wap_Project_Directory -ChildPath GitHubActionsWorkflow.pfx
|
||||
[IO.File]::WriteAllBytes("$certificatePath", $pfx_cert_byte)
|
||||
|
||||
# Create the app package by building and packaging the Windows Application Packaging project
|
||||
- name: Create the app package
|
||||
run: msbuild $env:Wap_Project_Path /p:Configuration=$env:Configuration /p:UapAppxPackageBuildMode=$env:Appx_Package_Build_Mode /p:AppxBundle=$env:Appx_Bundle /p:PackageCertificateKeyFile=GitHubActionsWorkflow.pfx /p:PackageCertificatePassword=${{ secrets.Pfx_Key }}
|
||||
env:
|
||||
Appx_Bundle: Always
|
||||
Appx_Bundle_Platforms: x86|x64
|
||||
Appx_Package_Build_Mode: StoreUpload
|
||||
Configuration: ${{ matrix.configuration }}
|
||||
|
||||
# Remove the pfx
|
||||
- name: Remove the pfx
|
||||
run: Remove-Item -path $env:Wap_Project_Directory\$env:Signing_Certificate
|
||||
|
||||
# Upload the MSIX package: https://github.com/marketplace/actions/upload-artifact
|
||||
- name: Upload build artifacts
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: MSIX Package
|
||||
path: ${{ env.Wap_Project_Directory }}\AppPackages
|
||||
@@ -1,90 +0,0 @@
|
||||
# For most projects, this workflow file will not need changing; you simply need
|
||||
# to commit it to your repository.
|
||||
#
|
||||
# You may wish to alter this file to override the set of languages analyzed,
|
||||
# or to provide custom queries or build logic.
|
||||
#
|
||||
# ******** NOTE ********
|
||||
# We have attempted to detect the languages in your repository. Please check
|
||||
# the `language` matrix defined below to confirm you have the correct set of
|
||||
# supported CodeQL languages.
|
||||
#
|
||||
name: "CodeQL"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch, $protected-branches ]
|
||||
pull_request:
|
||||
branches: [ $default-branch, $protected-branches ]
|
||||
schedule:
|
||||
- cron: $cron-weekly
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze (${{ matrix.language }})
|
||||
# Runner size impacts CodeQL analysis time. To learn more, please see:
|
||||
# - https://gh.io/recommended-hardware-resources-for-running-codeql
|
||||
# - https://gh.io/supported-runners-and-hardware-resources
|
||||
# - https://gh.io/using-larger-runners (GitHub.com only)
|
||||
# Consider using larger runners or machines with greater resources for possible analysis time improvements.
|
||||
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
|
||||
timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
|
||||
permissions:
|
||||
# required for all workflows
|
||||
security-events: write
|
||||
|
||||
# required to fetch internal or private CodeQL packs
|
||||
packages: read
|
||||
|
||||
# only required for workflows in private repositories
|
||||
actions: read
|
||||
contents: read
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
$codeql-languages-matrix
|
||||
# CodeQL supports the following values keywords for 'language': $supported-codeql-languages
|
||||
# Use `c-cpp` to analyze code written in C, C++ or both
|
||||
# Use 'java-kotlin' to analyze code written in Java, Kotlin or both
|
||||
# Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
|
||||
# To learn more about changing the languages that are analyzed or customizing the build mode for your analysis,
|
||||
# see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.
|
||||
# If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
|
||||
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v3
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
build-mode: ${{ matrix.build-mode }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
# By default, queries listed here will override any specified in a config file.
|
||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||
|
||||
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
|
||||
# queries: security-extended,security-and-quality
|
||||
|
||||
# If the analyze step fails for one of the languages you are analyzing with
|
||||
# "We were unable to automatically build your code", modify the matrix above
|
||||
# to set the build mode to "manual" for that language. Then modify this step
|
||||
# to build your code.
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
|
||||
- if: matrix.build-mode == 'manual'
|
||||
run: |
|
||||
echo 'If you are using a "manual" build mode for one or more of the' \
|
||||
'languages you are analyzing, replace this with the commands to build' \
|
||||
'your code, for example:'
|
||||
echo ' make bootstrap'
|
||||
echo ' make release'
|
||||
exit 1
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v3
|
||||
with:
|
||||
category: "/language:${{matrix.language}}"
|
||||
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"name": "CodeQL Analysis",
|
||||
"creator": "GitHub",
|
||||
"enterprise": true,
|
||||
"description": "Security analysis from GitHub for C, C++, C#, Go, Java, JavaScript, TypeScript, Python, Ruby, Kotlin and Swift developers.",
|
||||
"iconName": "octicon mark-github",
|
||||
"categories": ["Code Scanning", "C", "C++", "C#", "Go", "Java", "JavaScript", "TypeScript", "Python", "Ruby", "Kotlin", "Swift"]
|
||||
}
|
||||
-283
@@ -1,283 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
width="2499.6855"
|
||||
height="2499.6855"
|
||||
viewBox="0 0 2499.6856 2499.6856"
|
||||
xml:space="preserve"
|
||||
id="svg900"
|
||||
sodipodi:docname="ada.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)"><metadata
|
||||
id="metadata906"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs904" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1639"
|
||||
inkscape:window-height="1026"
|
||||
id="namedview902"
|
||||
showgrid="false"
|
||||
fit-margin-top="10"
|
||||
fit-margin-left="10"
|
||||
fit-margin-right="10"
|
||||
fit-margin-bottom="10"
|
||||
inkscape:zoom="0.31791045"
|
||||
inkscape:cx="1244.8642"
|
||||
inkscape:cy="1148.4665"
|
||||
inkscape:window-x="41"
|
||||
inkscape:window-y="24"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg900" />
|
||||
<style
|
||||
type="text/css"
|
||||
id="style815">
|
||||
path { stroke: #000; fill: #000; }
|
||||
.blue { stroke: none; fill: #001ec8; }
|
||||
.purple { stroke: none; fill: #14127b; }
|
||||
.lace{
|
||||
fill: none;
|
||||
stroke: #000050;
|
||||
stroke-width: 4.56;
|
||||
stroke-linecap: round;
|
||||
stroke-dasharray: 4.56, 9.12;
|
||||
}
|
||||
#beak { stroke-width: 1.4543; }
|
||||
#eye { fill: #fff; }
|
||||
#slogan{
|
||||
font-family: DejaVu Sans, DejaVuSans, sans-serif;
|
||||
font-size: 160px;
|
||||
letter-spacing: 2.058;
|
||||
}
|
||||
</style>
|
||||
<g
|
||||
id="mascot"
|
||||
transform="matrix(0.89154934,0,0,0.90465015,26.993382,126.4591)">
|
||||
<path
|
||||
d="m 1611.977,893.89 c 0,0 9.516,-105.79 218.437,-113.147 176.135,10.486 299.541,181.092 341.412,235.654 0,0 -152.667,101.169 -309.918,-74.527 -181.344,-162.704 -249.931,-47.98 -249.931,-47.98 z"
|
||||
id="path817"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1611.977,893.89 c 0,0 9.516,-105.79 218.437,-113.147 176.135,10.486 299.541,181.092 341.412,235.654 0,0 -152.667,101.169 -309.918,-74.527 -181.344,-162.704 -249.931,-47.98 -249.931,-47.98 z"
|
||||
id="path819"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1609.99,951.172 c 0,0 -17.842,77.477 85.748,137.389 72.271,41.798 31.627,53.267 31.627,53.267 0,0 33.552,6.073 89.941,-45.237 80.09,-72.877 39.384,-130.639 39.384,-130.639 0,0 -84.44,-119.765 -160.184,-28.007 -10e-4,-0.001 -23.964,28.114 -86.516,13.227 z"
|
||||
id="path821"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1609.99,951.172 c 0,0 -17.842,77.477 85.748,137.389 72.271,41.798 31.627,53.267 31.627,53.267 0,0 33.552,6.073 89.941,-45.237 80.09,-72.877 39.384,-130.639 39.384,-130.639 0,0 -84.44,-119.765 -160.184,-28.007 -10e-4,-0.001 -23.964,28.114 -86.516,13.227 z"
|
||||
id="path823"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1886.471,988.581 c 0,0 11.138,114.979 -147.041,163.575 0,0 162.152,-61.352 338.891,89.662 0,0 18.5,-138.54 102.683,-209.607 -9.579,2.773 -141.095,89.481 -294.533,-43.63 z"
|
||||
id="path825"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1886.471,988.581 c 0,0 11.138,114.979 -147.041,163.575 0,0 162.152,-61.352 338.891,89.662 0,0 18.5,-138.54 102.683,-209.607 -9.579,2.773 -141.095,89.481 -294.533,-43.63 z"
|
||||
id="path827"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1620.416,927.717 c 0,0 52.75,50.553 101.022,-46.643 0,0.001 -59.981,-41.814 -101.022,46.643 z"
|
||||
id="path829"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1620.416,927.717 c 0,0 52.75,50.553 101.022,-46.643 0,0.001 -59.981,-41.814 -101.022,46.643 z"
|
||||
id="path831"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
id="eye"
|
||||
d="m 1663.644,906.901 c 1.978,6.592 -1.131,13.3 -6.948,14.985 -5.818,1.685 -12.139,-2.292 -14.12,-8.884 -1.978,-6.589 1.134,-13.297 6.952,-14.982 5.817,-1.685 12.138,2.292 14.116,8.881 z"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff;stroke:#000000" />
|
||||
<path
|
||||
d="m 2425.161,1516.737 c 10.324,-223.678 6.519,-390.567 -146.927,-494.139 -197.333,-224.644 -429.309,-530.796 -380.538,-901.605 35.248,-267.985 54.6,-5.352 54.6,-5.352 0,0 43.629,382.154 187.388,504.897 366.257,323.333 366.683,500.749 285.477,896.199 z"
|
||||
id="path834"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 2425.161,1516.737 c 10.324,-223.678 6.519,-390.567 -146.927,-494.139 -197.333,-224.644 -429.309,-530.796 -380.538,-901.605 35.248,-267.985 54.6,-5.352 54.6,-5.352 0,0 43.629,382.154 187.388,504.897 366.257,323.333 366.683,500.749 285.477,896.199 z"
|
||||
id="path836"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1828.757,315.384 c 0,0 52.75,258.796 193.011,419.396 147.362,168.734 110.844,131.4 234.271,285.874 0,0 -13.726,-12.4 -55.464,0.307 0,0 -112.847,-170.83 -224.24,-222.873 0,0 -139.636,-143.078 -161.395,-297.193 -35.334,-250.261 -3.128,-280.036 13.817,-185.511 z"
|
||||
id="path838"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1828.757,315.384 c 0,0 52.75,258.796 193.011,419.396 147.362,168.734 110.844,131.4 234.271,285.874 0,0 -13.726,-12.4 -55.464,0.307 0,0 -112.847,-170.83 -224.24,-222.873 0,0 -139.636,-143.078 -161.395,-297.193 -35.334,-250.261 -3.128,-280.036 13.817,-185.511 z"
|
||||
id="path840"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1948.479,783.247 c 0,0 -125.77,-141.083 -137.986,-179.972 -21.57,-68.681 -29.621,-88.42 -36.591,-29.45 -3.865,32.725 19.875,183.652 86.226,190.548 44.038,4.576 88.351,18.874 88.351,18.874 z"
|
||||
id="path842"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1948.479,783.247 c 0,0 -125.77,-141.083 -137.986,-179.972 -21.57,-68.681 -29.621,-88.42 -36.591,-29.45 -3.865,32.725 19.875,183.652 86.226,190.548 44.038,4.576 88.351,18.874 88.351,18.874 z"
|
||||
id="path844"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 265.722,564.054 c -8.152,108.752 34.836,295.607 94.35,374.47 116.74,238.76 440.318,520.593 886.586,435.668 138.708,-39.579 259.46,24.864 346.052,98.731 83.282,84.862 112.474,99.424 169.505,65.834 -59.141,-57.281 -122.45,-124.229 -121.132,-212.485 4.155,-64.08 27.511,-126.884 68.622,-161.109 -40.588,-142.423 -268.016,-149.301 -369.352,-139.12 -131.23,8.867 -262.996,76.582 -380.2,89.509 C 634.705,1088.895 398.79,864.875 322.157,519.999 289.667,361.155 273.87,455.302 265.722,564.054 Z"
|
||||
id="path846"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 265.722,564.054 c -8.152,108.752 34.836,295.607 94.35,374.47 116.74,238.76 440.318,520.593 886.586,435.668 138.708,-39.579 259.46,24.864 346.052,98.731 83.282,84.862 112.474,99.424 169.505,65.834 -59.141,-57.281 -122.45,-124.229 -121.132,-212.485 4.155,-64.08 27.511,-126.884 68.622,-161.109 -40.588,-142.423 -268.016,-149.301 -369.352,-139.12 -131.23,8.867 -262.996,76.582 -380.2,89.509 C 634.705,1088.895 398.79,864.875 322.157,519.999 289.667,361.155 273.87,455.302 265.722,564.054 Z"
|
||||
id="path848"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 562.838,1304.813 c 230.013,136.835 460.685,181.856 650.958,111.34 0,0 173.715,-105.567 417.032,116.186 0,0 -273.168,145.195 -534.295,135.596 -94.496,-3.474 -390.567,-65.621 -583.404,-262.864 -175.166,-179.173 -177.987,-366.224 -99.331,-247.676 77.492,116.786 149.04,147.418 149.04,147.418 z"
|
||||
id="path850"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 562.838,1304.813 c 230.013,136.835 460.685,181.856 650.958,111.34 0,0 173.715,-105.567 417.032,116.186 0,0 -273.168,145.195 -534.295,135.596 -94.496,-3.474 -390.567,-65.621 -583.404,-262.864 -175.166,-179.173 -177.987,-366.224 -99.331,-247.676 77.492,116.786 149.04,147.418 149.04,147.418 z"
|
||||
id="path852"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 965.398,1707.048 c 335.49,31.676 535.63,-83.299 681.562,-151.143 24.455,174.479 -266.714,305.736 -474.431,287.002 -138.928,-6.75 -333.321,-37.361 -454.117,-163.129 -11.647,-12.125 -91.392,-113.813 36.099,-35.268 82.58,39.237 141.487,48.613 210.887,62.538 z"
|
||||
id="path854"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 965.398,1707.048 c 335.49,31.676 535.63,-83.299 681.562,-151.143 24.455,174.479 -266.714,305.736 -474.431,287.002 -138.928,-6.75 -333.321,-37.361 -454.117,-163.129 -11.647,-12.125 -91.392,-113.813 36.099,-35.268 82.58,39.237 141.487,48.613 210.887,62.538 z"
|
||||
id="path856"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1684.492,1568.591 c 63.313,127.972 114.759,155.246 291.324,232.417 107.66,49.228 142.959,77.509 117.842,122.341 0,0 133.856,-71.649 196.353,-165.761 0,0 -339.162,-60.108 -515.42,-210.421 -44.607,36.702 -90.099,21.424 -90.099,21.424 z"
|
||||
id="path858"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1684.492,1568.591 c 63.313,127.972 114.759,155.246 291.324,232.417 107.66,49.228 142.959,77.509 117.842,122.341 0,0 133.856,-71.649 196.353,-165.761 0,0 -339.162,-60.108 -515.42,-210.421 -44.607,36.702 -90.099,21.424 -90.099,21.424 z"
|
||||
id="path860"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1670.934,1581.267 c 0,0 5.497,149.755 -207.863,248.039 -153.561,70.739 39.722,44.073 138.258,-3.812 101.34,-49.249 123.406,-118.457 108.874,-175.288 -11.095,-43.385 -28.16,-56.93 -39.269,-68.939 z"
|
||||
id="path862"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1670.934,1581.267 c 0,0 5.497,149.755 -207.863,248.039 -153.561,70.739 39.722,44.073 138.258,-3.812 101.34,-49.249 123.406,-118.457 108.874,-175.288 -11.095,-43.385 -28.16,-56.93 -39.269,-68.939 z"
|
||||
id="path864"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 2421.78,1531.324 c 0,0 -61.757,173.345 -118.533,221.491 0,0 36.291,8.63 49.189,85.811 36.989,-90.593 69.344,-307.302 69.344,-307.302 z"
|
||||
id="path866"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 2421.78,1531.324 c 0,0 -61.757,173.345 -118.533,221.491 0,0 36.291,8.63 49.189,85.811 36.989,-90.593 69.344,-307.302 69.344,-307.302 z"
|
||||
id="path868"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 2298.067,1774.257 c 0,0 60.485,207.06 -215.383,436.233 -121.197,100.688 -246.916,149.312 -391.878,178.315 0,0 -287.012,47.125 -352.704,-156.11 0,0 58.862,34.805 211.641,24.406 430.153,-29.275 709.851,-266.408 748.324,-482.844 z"
|
||||
id="path870"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 2298.067,1774.257 c 0,0 60.485,207.06 -215.383,436.233 -121.197,100.688 -246.916,149.312 -391.878,178.315 0,0 -287.012,47.125 -352.704,-156.11 0,0 58.862,34.805 211.641,24.406 430.153,-29.275 709.851,-266.408 748.324,-482.844 z"
|
||||
id="path872"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1496.487,2128.527 c 0,0 38.184,92.072 159.839,90.203 210.235,-3.234 551.609,-189.684 614.506,-413.938 0,0 -176.721,209.97 -498.868,285.338 -209.259,48.955 -275.477,38.397 -275.477,38.397 z"
|
||||
id="path874"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1496.487,2128.527 c 0,0 38.184,92.072 159.839,90.203 210.235,-3.234 551.609,-189.684 614.506,-413.938 0,0 -176.721,209.97 -498.868,285.338 -209.259,48.955 -275.477,38.397 -275.477,38.397 z"
|
||||
id="path876"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 2319.562,1784.373 c 67.984,66.106 49.556,575.534 -455.449,704.963 0,0 -201.498,64.398 -354.49,-55.349 201.174,25.111 498.821,-106.314 617.34,-227.303 131.909,-134.655 211.685,-272.923 192.599,-422.311 z"
|
||||
id="path878"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 2319.562,1784.373 c 67.984,66.106 49.556,575.534 -455.449,704.963 0,0 -201.498,64.398 -354.49,-55.349 201.174,25.111 498.821,-106.314 617.34,-227.303 131.909,-134.655 211.685,-272.923 192.599,-422.311 z"
|
||||
id="path880"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 947.427,945.126 c 251.781,-104.964 473.12,-102.836 658.46,-50.581 0,0 -8.138,17.765 -24.361,13.907 -5.711,-1.357 1.667,12.11 26.509,40.646 -188.827,-76.332 -414.26,-62.7 -660.608,-3.972 z"
|
||||
id="path882"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
id="beak"
|
||||
d="m 947.427,945.126 c 251.781,-104.964 473.12,-102.836 658.46,-50.581 0,0 -8.138,17.765 -24.361,13.907 -5.711,-1.357 1.667,12.11 26.509,40.646 -188.827,-76.332 -414.26,-62.7 -660.608,-3.972 z"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000;stroke-width:1.45430005" />
|
||||
<path
|
||||
class="blue"
|
||||
d="m 2072.565,1258.561 c 0,0 -40.71,-39.82 -105.351,-69.183 -32.318,-14.681 -73.917,-29.034 -112.812,-29.92 -47.728,-1.085 -90.031,-8.288 -139.967,30.381 -161.914,198.937 48.743,442.226 554.504,543.472 -53.728,-4.627 -636.817,-584.716 -196.374,-474.75 z"
|
||||
id="path885"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#001ec8;stroke:none" />
|
||||
<path
|
||||
class="lace"
|
||||
d="m 2072.565,1258.561 c 0,0 -40.71,-39.82 -105.351,-69.183 -32.318,-14.681 -73.917,-29.034 -112.812,-29.92 -47.728,-1.085 -90.031,-8.288 -139.967,30.381 -161.914,198.937 48.743,442.226 554.504,543.472 -53.728,-4.627 -636.817,-584.716 -196.374,-474.75 z"
|
||||
id="path887"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#000050;stroke-width:4.55999994;stroke-linecap:round;stroke-dasharray:4.56, 9.12" />
|
||||
<path
|
||||
class="blue"
|
||||
d="m 2089,1250.758 c 0,0 6.621,-47.435 31.076,-105.404 24.456,-57.972 69.361,-122.52 135.318,-108.428 99.035,38.683 198.1,202.659 144.854,504.171 -27.158,96.066 -92.941,186.513 -92.941,186.513 11.774,2.201 -14.852,-880.663 -218.307,-476.852 z"
|
||||
id="path889"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#001ec8;stroke:none" />
|
||||
<path
|
||||
class="lace"
|
||||
d="m 2089,1250.758 c 0,0 6.621,-47.435 31.076,-105.404 24.456,-57.972 69.361,-122.52 135.318,-108.428 99.035,38.683 198.1,202.659 144.854,504.171 -27.158,96.066 -92.941,186.513 -92.941,186.513 11.774,2.201 -14.852,-880.663 -218.307,-476.852 z"
|
||||
id="path891"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#000050;stroke-width:4.55999994;stroke-linecap:round;stroke-dasharray:4.56, 9.12" />
|
||||
<path
|
||||
class="purple"
|
||||
d="m 2093.633,1281.527 c -180.681,-66.114 -247.607,81.789 206.231,465.208 -9.578,-211.528 -48.209,-785.232 -206.231,-465.208 z"
|
||||
id="path893"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#14127b;stroke:none" />
|
||||
<path
|
||||
class="lace"
|
||||
d="m 2093.633,1281.527 c -180.681,-66.114 -247.607,81.789 206.231,465.208 -9.578,-211.528 -48.209,-785.232 -206.231,-465.208 z"
|
||||
id="path895"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#000050;stroke-width:4.55999994;stroke-linecap:round;stroke-dasharray:4.56, 9.12" />
|
||||
</g>
|
||||
|
||||
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 16 KiB |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user