Compare commits

..

9 Commits

Author SHA1 Message Date
Christopher Schleiden 6179f79b78 Remove properties.
Validate Data / sync (push) Has been cancelled
2020-05-26 13:31:30 -07:00
Cameron Booth 60749c6653 Merge pull request #518 from cdb/cdb/dont-fail-on-no-changes
Don't fail GHES workflow if nothing changed
2020-05-20 16:43:49 -07:00
Cameron Booth 9a0a11423d Name the workflow 2020-05-20 16:31:33 -07:00
Cameron Booth 74c1e87c6b Don’t fail if no changes 2020-05-20 16:31:20 -07:00
Cameron Booth 9ea914b370 Merge pull request #517 from cdb/cdb/validate-data
Workflow to validate starter-workflows data is setup correctly
2020-05-20 16:03:12 -07:00
Cameron Booth 1bb7228652 Report success as well for visibility 2020-05-20 13:28:55 -07:00
Cameron Booth 3dd92068cf Add missing icons 2020-05-20 13:28:44 -07:00
Cameron Booth a83abcc872 Script to validate the main parts of workflow data 2020-05-20 13:28:25 -07:00
Christopher Schleiden 70c22e93a3 Name GHES sync workflow 2020-05-20 11:39:30 -07:00
148 changed files with 1824 additions and 2521 deletions
+8 -2
View File
@@ -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
+21
View File
@@ -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
+19
View File
@@ -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'
+25
View File
@@ -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 }}"
-32
View File
@@ -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
View File
@@ -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
View File
@@ -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@v4
- name: Set up GNAT toolchain
run: >
sudo apt-get update &&
sudo apt-get install gnat gprbuild
- name: Build
run: gprbuild -j0 -p
+12 -11
View File
@@ -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@v4
- name: set up JDK 11
uses: actions/setup-java@v4
- 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
View File
@@ -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@v4
- name: Set up JDK 11
uses: actions/setup-java@v4
- 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
View File
@@ -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
+52
View File
@@ -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
View File
@@ -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@v4
# 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
View File
@@ -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@v4
- uses: actions/checkout@v2
- name: configure
run: ./configure
- name: make
+9 -3
View File
@@ -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@v4
- uses: actions/checkout@v2
- name: Install dependencies
run: lein deps
- name: Run tests
-75
View File
@@ -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@v4
- 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 }}
-39
View File
@@ -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@v4
- 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
View File
@@ -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@v4
- uses: actions/checkout@v2
- name: Install dependencies
run: shards install
- name: Run tests
+28
View File
@@ -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
View File
@@ -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@v4
- 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
View File
@@ -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@v4
- uses: actions/checkout@v2
- name: Build the Docker image
run: docker build . --file Dockerfile --tag my-image-name:$(date +%s)
+82
View File
@@ -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
+31
View File
@@ -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
-28
View File
@@ -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
+30
View File
@@ -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
View File
@@ -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@v4
- uses: actions/checkout@v2
- name: Compile
run: rebar3 compile
- name: Run tests
+48
View File
@@ -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@v4
# ========================================================
#
# 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
-38
View File
@@ -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
# =============================================================================================================
+26 -11
View File
@@ -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@v4
- 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 .
+81
View File
@@ -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
+39
View File
@@ -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 }}
+32
View File
@@ -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
+46
View File
@@ -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
View File
@@ -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
View File
@@ -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@v4
- 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"
-20
View File
@@ -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@v4
- 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"
+26
View File
@@ -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"
+38
View File
@@ -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
-27
View File
@@ -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@v4
- name: configure
run: ./configure
- name: Install dependencies
run: make
- name: Run check
run: make check
- name: Run distcheck
run: make distcheck
+12 -10
View File
@@ -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@v4
- name: Set up JDK 11
uses: actions/setup-java@v4
- 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 }}
+30
View File
@@ -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
View File
@@ -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: [18.x, 20.x, 22.x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
node-version: [10.x, 12.x]
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
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
-36
View File
@@ -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@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npm ci
- run: npm test
publish-gpr:
needs: build
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
registry-url: $registry-url(npm)
- run: npm ci
- run: npm publish
env:
NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
+27 -7
View File
@@ -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@v4
- uses: actions/setup-node@v4
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 20
node-version: 12
- run: npm ci
- run: npm test
@@ -22,12 +28,26 @@ jobs:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 20
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}}
-30
View File
@@ -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@v4
- 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
View File
@@ -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@v4
- 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
-6
View File
@@ -1,6 +0,0 @@
{
"name": "Ada",
"description": "Build Ada project with GPRbuild.",
"iconName": "ada",
"categories": ["Continuous integration", "Ada"]
}
-6
View File
@@ -1,6 +0,0 @@
{
"name": "Android CI",
"description": "Build an Android project with Gradle.",
"iconName": "android",
"categories": ["Continuous integration", "Java", "Mobile"]
}
-6
View File
@@ -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"]
}
-7
View File
@@ -1,7 +0,0 @@
{
"name": "Simple workflow",
"description": "Start with a file with the minimum necessary structure.",
"creator": "GitHub",
"iconName": "blank",
"categories": null
}
-6
View File
@@ -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++"]
}
-6
View File
@@ -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++"]
}
-6
View File
@@ -1,6 +0,0 @@
{
"name": "Crystal",
"description": "Build and test a Crystal project.",
"iconName": "crystal",
"categories": ["Continuous integration", "Crystal"]
}
-6
View File
@@ -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"]
}
-6
View File
@@ -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"]
}
-6
View File
@@ -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"]
}
-6
View File
@@ -1,6 +0,0 @@
{
"name": "Go",
"description": "Build a Go project.",
"iconName": "go",
"categories": ["Continuous integration", "Go"]
}
-10
View File
@@ -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"]
}
-6
View File
@@ -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"]
}
-6
View File
@@ -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": "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"]
}
-6
View File
@@ -1,6 +0,0 @@
{
"name": "PHP",
"description": "Build and test a PHP application using Composer",
"iconName": "php",
"categories": ["Continuous integration", "PHP", "Composer"]
}
-6
View File
@@ -1,6 +0,0 @@
{
"name": "Pylint",
"description": "Lint a Python application with pylint.",
"iconName": "python",
"categories": ["Continuous integration", "Python", "Bottle", "Flask"]
}
-6
View File
@@ -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"]
}
-6
View File
@@ -1,6 +0,0 @@
{
"name": "Rust",
"description": "Build and test a Rust project with Cargo.",
"iconName": "rust",
"categories": ["Continuous integration", "Rust"]
}
-6
View File
@@ -1,6 +0,0 @@
{
"name": "Swift",
"description": "Build and test a Swift Package.",
"iconName": "swift",
"categories": ["Continuous integration", "Swift"]
}
-6
View File
@@ -1,6 +0,0 @@
{
"name": "Webpack",
"description": "Build a NodeJS project with npm and webpack.",
"iconName": "webpack",
"categories": ["Continuous integration", "JavaScript", "TypeScript", "npm", "Webpack"]
}
-23
View File
@@ -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@v4
- 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
View File
@@ -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@v4
- 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
-34
View File
@@ -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@v4
- 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
View File
@@ -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@v4
- 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: |
+37
View File
@@ -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
View File
@@ -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
View File
@@ -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@v4
- uses: actions/checkout@v2
- name: Build
run: cargo build --verbose
- name: Run tests
+27
View File
@@ -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
View File
@@ -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@v4
- uses: actions/checkout@v2
- name: Build
run: swift build -v
- name: Run tests
+81
View File
@@ -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
+96
View File
@@ -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
-28
View File
@@ -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: [18.x, 20.x, 22.x]
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Build
run: |
npm install
npx webpack
+121
View File
@@ -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
-97
View File
@@ -1,97 +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 Advanced"
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' }}
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
# Add any setup steps before running the `github/codeql-action/init` action.
# This includes steps like installing compilers or runtimes (`actions/setup-node`
# or others). This is typically only required for manual builds.
# - name: Setup runtime (example)
# uses: actions/setup-example@v1
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v4
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
- name: Run manual build steps
if: matrix.build-mode == 'manual'
shell: bash
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@v4
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
View File
@@ -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

+1
View File
@@ -0,0 +1 @@
<svg fill="none" height="48" width="48" xmlns="http://www.w3.org/2000/svg"><path d="M24.5 0L2 7.968l3.432 29.544L24.5 48l19.068-10.488L47 7.968z" fill="#dd0031"/><path d="M24.5 0v5.328-.024V48l19.068-10.488L47 7.968z" fill="#c3002f"/><path d="M24.5 5.304l-14.066 31.32h5.245l2.827-7.008h11.94l2.827 7.008h5.244zm4.108 19.992h-8.217L24.5 15.48z" fill="#fff"/></svg>

After

Width:  |  Height:  |  Size: 364 B

+1
View File
@@ -0,0 +1 @@
<svg width="48" height="48" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M24 48c13.255 0 24-10.745 24-24S37.255 0 24 0 0 10.745 0 24s10.745 24 24 24z" fill="#5C2D91"/><path opacity=".1" d="M7.923 6.657a23.67 23.67 0 1033.42 33.42L7.923 6.657z" fill="#fff"/><path d="M8.043 36.108a.999.999 0 01-.74-.31 1.02 1.02 0 01-.303-.74 1.036 1.036 0 01.303-.74.991.991 0 01.74-.318 1.013 1.013 0 01.74.318 1.028 1.028 0 01.31.74 1.013 1.013 0 01-.31.74 1.02 1.02 0 01-.74.31zM18.915 35.748h-1.451l-5.186-8.05a3.331 3.331 0 01-.322-.632h-.044c.05.459.068.92.057 1.382v7.3h-1.18V25.653h1.533l5.047 7.912c.21.328.347.553.41.675-.057-.492-.08-.988-.07-1.483v-7.104h1.18l.026 10.095zM25.893 35.748h-5.344V25.653h5.117v1.066h-3.937v3.35h3.64v1.06h-3.64v3.527h4.164v1.092zM33.792 26.72h-2.909v9.028h-1.18v-9.029h-2.902v-1.066h6.997l-.006 1.066zM19.944 22.757h-1.306l-1.092-2.826h-4.252l-1.003 2.826h-1.32l3.868-10.095h1.224l3.88 10.095zm-2.764-3.886l-1.583-4.297a4.114 4.114 0 01-.158-.675 3.83 3.83 0 01-.164.675l-1.571 4.297h3.476zM20.96 22.347v-1.388c.174.15.367.277.573.378.226.114.46.209.7.284.244.076.493.135.745.177.227.04.457.061.688.063a2.7 2.7 0 001.628-.404 1.514 1.514 0 00.36-1.893c-.132-.212-.3-.398-.5-.548a4.984 4.984 0 00-.75-.48l-.927-.454a13.265 13.265 0 01-.985-.543 4.214 4.214 0 01-.795-.63 2.524 2.524 0 01-.53-.72 2.555 2.555 0 01.108-2.177c.198-.336.47-.623.795-.839a3.615 3.615 0 011.123-.492 5.167 5.167 0 011.261-.164 4.927 4.927 0 012.17.36v1.331a3.937 3.937 0 00-2.29-.63c-.26 0-.52.027-.775.081a2.177 2.177 0 00-.688.265c-.198.119-.366.28-.492.473-.13.21-.196.454-.19.7-.006.232.044.461.146.67.104.197.248.37.422.51.214.172.445.322.688.448.27.148.58.307.934.48.353.172.696.36 1.028.561.307.178.593.39.852.631.237.23.434.5.58.795.148.312.22.653.215.997.014.439-.086.874-.29 1.262-.19.34-.462.628-.789.839-.35.224-.736.382-1.142.467a6.307 6.307 0 01-1.363.145 7.467 7.467 0 01-1.312-.151 5.673 5.673 0 01-.694-.183 2.137 2.137 0 01-.505-.221zM29.684 18.947v3.785h-1.18V12.638h2.77c.91-.062 1.81.22 2.524.788a2.808 2.808 0 01.89 2.221 3.054 3.054 0 01-.991 2.347 3.785 3.785 0 01-2.669.915l-1.344.038zm0-5.205v4.132h1.262a2.763 2.763 0 001.893-.561 1.981 1.981 0 00.63-1.578c0-1.329-.786-1.993-2.359-1.993h-1.426z" fill="#fff"/></svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

-20
View File
@@ -1,20 +0,0 @@
<svg width="124" height="124" viewBox="0 0 124 124" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_1_5)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M78.9569 9.16863C79.8984 10.3374 80.3785 11.9147 81.3388 15.0692L102.316 83.981C94.5604 79.9575 86.1289 77.0556 77.2366 75.49L63.5781 29.3336C63.3546 28.5783 62.6609 28.0602 61.8734 28.0602C61.0838 28.0602 60.3888 28.581 60.1671 29.3389L46.6739 75.4667C37.7405 77.0253 29.2704 79.9324 21.4812 83.9706L42.5617 15.0532H42.5618C43.5251 11.9042 44.0066 10.3297 44.9483 9.16295C45.7794 8.13296 46.8607 7.33303 48.0887 6.83939C49.4799 6.28025 51.1264 6.28025 54.4194 6.28025H69.4762C72.7737 6.28025 74.4223 6.28025 75.8147 6.84057C77.0439 7.33522 78.1257 8.13675 78.9569 9.16863Z" fill="url(#paint0_linear_1_5)"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M81.4671 87.2605C78.0089 90.2177 71.1064 92.2344 63.1556 92.2344C53.3972 92.2344 45.2181 89.1964 43.0477 85.1106C42.2718 87.4522 42.0978 90.1321 42.0978 91.8441C42.0978 91.8441 41.5866 100.25 47.4335 106.097C47.4335 103.061 49.8947 100.601 52.9307 100.601C58.1344 100.601 58.1285 105.14 58.1237 108.824C58.1236 108.934 58.1235 109.043 58.1235 109.152C58.1235 114.743 61.5403 119.535 66.3997 121.556C65.6739 120.063 65.2667 118.386 65.2667 116.615C65.2667 111.283 68.397 109.297 72.0351 106.99C74.9298 105.154 78.146 103.115 80.3625 99.0227C81.519 96.8876 82.1757 94.4428 82.1757 91.8441C82.1757 90.2461 81.9274 88.7061 81.4671 87.2605Z" fill="#FF5D01"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M81.4671 87.2605C78.0089 90.2177 71.1064 92.2344 63.1556 92.2344C53.3972 92.2344 45.2181 89.1964 43.0477 85.1106C42.2718 87.4522 42.0978 90.1321 42.0978 91.8441C42.0978 91.8441 41.5866 100.25 47.4335 106.097C47.4335 103.061 49.8947 100.601 52.9307 100.601C58.1344 100.601 58.1285 105.14 58.1237 108.824C58.1236 108.934 58.1235 109.043 58.1235 109.152C58.1235 114.743 61.5403 119.535 66.3997 121.556C65.6739 120.063 65.2667 118.386 65.2667 116.615C65.2667 111.283 68.397 109.297 72.0351 106.99C74.9298 105.154 78.146 103.115 80.3625 99.0227C81.519 96.8876 82.1757 94.4428 82.1757 91.8441C82.1757 90.2461 81.9274 88.7061 81.4671 87.2605Z" fill="url(#paint1_linear_1_5)"/>
</g>
<defs>
<linearGradient id="paint0_linear_1_5" x1="85.5403" y1="2.62659" x2="61.8988" y2="83.9811" gradientUnits="userSpaceOnUse">
<stop stop-color="#000014"/>
<stop offset="1" stop-color="#150426"/>
</linearGradient>
<linearGradient id="paint1_linear_1_5" x1="97.0378" y1="63.2061" x2="76.5628" y2="106.069" gradientUnits="userSpaceOnUse">
<stop stop-color="#FF1639"/>
<stop offset="1" stop-color="#FF1639" stop-opacity="0"/>
</linearGradient>
<clipPath id="clip0_1_5">
<rect width="124" height="124" fill="white"/>
</clipPath>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 2.7 KiB

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="302" height="180" viewBox="0 0 302 180"><g fill="none"><path fill="#252F3E" d="M85.4 65.4c0 3.7.4 6.7 1.1 8.9.8 2.2 1.8 4.6 3.2 7.2.5.8.7 1.6.7 2.3 0 1-.6 2-1.9 3L82.2 91c-.9.6-1.8.9-2.6.9-1 0-2-.5-3-1.4-1.4-1.5-2.6-3.1-3.6-4.7-1-1.7-2-3.6-3.1-5.9-7.8 9.2-17.6 13.8-29.4 13.8-8.4 0-15.1-2.4-20-7.2-4.9-4.8-7.4-11.2-7.4-19.2 0-8.5 3-15.4 9.1-20.6 6.1-5.2 14.2-7.8 24.5-7.8 3.4 0 6.9.3 10.6.8 3.7.5 7.5 1.3 11.5 2.2v-7.3c0-7.6-1.6-12.9-4.7-16-3.2-3.1-8.6-4.6-16.3-4.6-3.5 0-7.1.4-10.8 1.3-3.7.9-7.3 2-10.8 3.4-1.6.7-2.8 1.1-3.5 1.3-.7.2-1.2.3-1.6.3-1.4 0-2.1-1-2.1-3.1v-4.9c0-1.6.2-2.8.7-3.5.5-.7 1.4-1.4 2.8-2.1 3.5-1.8 7.7-3.3 12.6-4.5C40 .9 45.2.3 50.7.3 62.6.3 71.3 3 76.9 8.4c5.5 5.4 8.3 13.6 8.3 24.6v32.4h.2zM44.8 80.6c3.3 0 6.7-.6 10.3-1.8 3.6-1.2 6.8-3.4 9.5-6.4 1.6-1.9 2.8-4 3.4-6.4.6-2.4 1-5.3 1-8.7v-4.2c-2.9-.7-6-1.3-9.2-1.7-3.2-.4-6.3-.6-9.4-.6-6.7 0-11.6 1.3-14.9 4-3.3 2.7-4.9 6.5-4.9 11.5 0 4.7 1.2 8.2 3.7 10.6 2.4 2.5 5.9 3.7 10.5 3.7zm80.3 10.8c-1.8 0-3-.3-3.8-1-.8-.6-1.5-2-2.1-3.9L95.7 9.2c-.6-2-.9-3.3-.9-4 0-1.6.8-2.5 2.4-2.5h9.8c1.9 0 3.2.3 3.9 1 .8.6 1.4 2 2 3.9l16.8 66.2 15.6-66.2c.5-2 1.1-3.3 1.9-3.9.8-.6 2.2-1 4-1h8c1.9 0 3.2.3 4 1 .8.6 1.5 2 1.9 3.9l15.8 67 17.3-67c.6-2 1.3-3.3 2-3.9.8-.6 2.1-1 3.9-1h9.3c1.6 0 2.5.8 2.5 2.5 0 .5-.1 1-.2 1.6-.1.6-.3 1.4-.7 2.5l-24.1 77.3c-.6 2-1.3 3.3-2.1 3.9-.8.6-2.1 1-3.8 1h-8.6c-1.9 0-3.2-.3-4-1-.8-.7-1.5-2-1.9-4L155 22l-15.4 64.4c-.5 2-1.1 3.3-1.9 4-.8.7-2.2 1-4 1h-8.6zm128.5 2.7c-5.2 0-10.4-.6-15.4-1.8-5-1.2-8.9-2.5-11.5-4-1.6-.9-2.7-1.9-3.1-2.8-.4-.9-.6-1.9-.6-2.8v-5.1c0-2.1.8-3.1 2.3-3.1.6 0 1.2.1 1.8.3.6.2 1.5.6 2.5 1 3.4 1.5 7.1 2.7 11 3.5 4 .8 7.9 1.2 11.9 1.2 6.3 0 11.2-1.1 14.6-3.3 3.4-2.2 5.2-5.4 5.2-9.5 0-2.8-.9-5.1-2.7-7-1.8-1.9-5.2-3.6-10.1-5.2L245 51c-7.3-2.3-12.7-5.7-16-10.2-3.3-4.4-5-9.3-5-14.5 0-4.2.9-7.9 2.7-11.1 1.8-3.2 4.2-6 7.2-8.2 3-2.3 6.4-4 10.4-5.2 4-1.2 8.2-1.7 12.6-1.7 2.2 0 4.5.1 6.7.4 2.3.3 4.4.7 6.5 1.1 2 .5 3.9 1 5.7 1.6 1.8.6 3.2 1.2 4.2 1.8 1.4.8 2.4 1.6 3 2.5.6.8.9 1.9.9 3.3v4.7c0 2.1-.8 3.2-2.3 3.2-.8 0-2.1-.4-3.8-1.2-5.7-2.6-12.1-3.9-19.2-3.9-5.7 0-10.2.9-13.3 2.8-3.1 1.9-4.7 4.8-4.7 8.9 0 2.8 1 5.2 3 7.1 2 1.9 5.7 3.8 11 5.5l14.2 4.5c7.2 2.3 12.4 5.5 15.5 9.6 3.1 4.1 4.6 8.8 4.6 14 0 4.3-.9 8.2-2.6 11.6-1.8 3.4-4.2 6.4-7.3 8.8-3.1 2.5-6.8 4.3-11.1 5.6-4.5 1.4-9.2 2.1-14.3 2.1z"/><g fill="#F90"><path d="M272.5 142.7c-32.9 24.3-80.7 37.2-121.8 37.2-57.6 0-109.5-21.3-148.7-56.7-3.1-2.8-.3-6.6 3.4-4.4 42.4 24.6 94.7 39.5 148.8 39.5 36.5 0 76.6-7.6 113.5-23.2 5.5-2.5 10.2 3.6 4.8 7.6z"/><path d="M286.2 127.1c-4.2-5.4-27.8-2.6-38.5-1.3-3.2.4-3.7-2.4-.8-4.5 18.8-13.2 49.7-9.4 53.3-5 3.6 4.5-1 35.4-18.6 50.2-2.7 2.3-5.3 1.1-4.1-1.9 4-9.9 12.9-32.2 8.7-37.5z"/></g></g></svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

Some files were not shown because too many files have changed in this diff Show More