-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit e5495f4
Showing
18 changed files
with
1,115 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
name-template: 'v$RESOLVED_VERSION 🌈' | ||
tag-template: 'v$RESOLVED_VERSION' | ||
categories: | ||
- title: '🚀 Features' | ||
labels: | ||
- 'feature' | ||
- 'enhancement' | ||
- 'change' | ||
- title: '🐛 Bug Fixes' | ||
labels: | ||
- 'fix' | ||
- 'bug' | ||
- title: '🖊️ Refactors' | ||
labels: | ||
- 'refactor' | ||
- title: '👗 Style' | ||
labels: | ||
- 'style' | ||
- title: '📝 Documentation' | ||
labels: | ||
- 'docs' | ||
- 'documentation' | ||
- title: '🧰 Maintenance' | ||
label: 'chore' | ||
change-template: '- $TITLE @$AUTHOR (#$NUMBER)' | ||
version-resolver: | ||
major: | ||
labels: | ||
- 'breaking' | ||
minor: | ||
labels: | ||
- 'feature' | ||
- 'enhancement' | ||
- 'change' | ||
- 'refactor' | ||
patch: | ||
labels: | ||
- 'fix' | ||
- 'bug' | ||
- 'style' | ||
- 'docs' | ||
- 'documentation' | ||
- 'chore' | ||
default: patch | ||
sort-by: title | ||
template: | | ||
## Changes | ||
$CHANGES |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,199 @@ | ||
name: ci-master-pr | ||
|
||
on: | ||
push: | ||
branches: | ||
- master | ||
tags: | ||
- '**' | ||
pull_request: | ||
branches: | ||
- master | ||
merge_group: | ||
jobs: | ||
test-nogitdiff: | ||
runs-on: ubuntu-latest | ||
container: | ||
image: mcr.microsoft.com/powershell:lts-7.2-alpine-3.17 | ||
steps: | ||
- run: | | ||
apk add --no-cache git | ||
- uses: actions/checkout@v3 | ||
- name: Ignore git permissions | ||
run: | | ||
git config --global --add safe.directory "$( pwd )" | ||
- name: Generate variants | ||
run: | | ||
pwsh -Command ' | ||
$ErrorActionPreference = "Stop" | ||
Install-Module -Name Generate-DockerImageVariants -Force -Scope CurrentUser -Verbose | ||
Generate-DockerImageVariants . | ||
' | ||
- name: Test - no git diff | ||
run: | | ||
git diff --exit-code | ||
build-1-0-3: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
|
||
- name: Display system info (linux) | ||
run: | | ||
set -e | ||
hostname | ||
whoami | ||
cat /etc/*release | ||
lscpu | ||
free | ||
df -h | ||
pwd | ||
docker info | ||
docker version | ||
# See: https://github.com/docker/build-push-action/blob/v2.6.1/docs/advanced/cache.md#github-cache | ||
- name: Set up QEMU | ||
uses: docker/setup-qemu-action@v2 | ||
|
||
- name: Set up Docker Buildx | ||
id: buildx | ||
uses: docker/setup-buildx-action@v2 | ||
|
||
- name: Cache Docker layers | ||
uses: actions/cache@v3 | ||
with: | ||
path: /tmp/.buildx-cache | ||
key: ${{ runner.os }}-buildx-1.0.3-${{ github.sha }} | ||
restore-keys: | | ||
${{ runner.os }}-buildx-1.0.3- | ||
${{ runner.os }}-buildx- | ||
- name: Login to Docker Hub registry | ||
# Run on master and tags | ||
if: github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/') | ||
uses: docker/login-action@v2 | ||
with: | ||
username: ${{ secrets.DOCKERHUB_REGISTRY_USER }} | ||
password: ${{ secrets.DOCKERHUB_REGISTRY_PASSWORD }} | ||
|
||
# This step generates the docker tags | ||
- name: Prepare | ||
id: prep- | ||
run: | | ||
set -e | ||
# Get ref, i.e. <branch_name> from refs/heads/<branch_name>, or <tag-name> from refs/tags/<tag_name>. E.g. 'master' or 'v0.0.0' | ||
REF=$( echo "${GITHUB_REF}" | rev | cut -d '/' -f 1 | rev ) | ||
# Get short commit hash E.g. 'abc0123' | ||
SHA=$( echo "${GITHUB_SHA}" | cut -c1-7 ) | ||
# Generate docker image tags | ||
# E.g. 'v0.0.0-<variant>' and 'v0.0.0-abc0123-<variant>' | ||
# E.g. 'master-<variant>' and 'master-abc0123-<variant>' | ||
VARIANT="" | ||
REF_VARIANT="${REF}-${VARIANT}" | ||
REF_SHA_VARIANT="${REF}-${SHA}-${VARIANT}" | ||
# Pass variables to next step | ||
echo "VARIANT_BUILD_DIR=$VARIANT_BUILD_DIR" >> $GITHUB_OUTPUT | ||
echo "VARIANT=$VARIANT" >> $GITHUB_OUTPUT | ||
echo "REF_VARIANT=$REF_VARIANT" >> $GITHUB_OUTPUT | ||
echo "REF_SHA_VARIANT=$REF_SHA_VARIANT" >> $GITHUB_OUTPUT | ||
- name: - Build (PRs) | ||
# Run only on pull requests | ||
if: github.event_name == 'pull_request' | ||
uses: docker/build-push-action@v3 | ||
with: | ||
context: variants | ||
platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64,linux/s390x | ||
push: false | ||
tags: | | ||
${{ github.repository }}:${{ steps.prep-.outputs.REF_VARIANT }} | ||
${{ github.repository }}:${{ steps.prep-.outputs.REF_SHA_VARIANT }} | ||
cache-from: type=local,src=/tmp/.buildx-cache | ||
cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max | ||
|
||
- name: - Build and push (master) | ||
# Run only on master | ||
if: github.ref == 'refs/heads/master' | ||
uses: docker/build-push-action@v3 | ||
with: | ||
context: variants | ||
platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64,linux/s390x | ||
push: true | ||
tags: | | ||
${{ github.repository }}:${{ steps.prep-.outputs.REF_VARIANT }} | ||
${{ github.repository }}:${{ steps.prep-.outputs.REF_SHA_VARIANT }} | ||
cache-from: type=local,src=/tmp/.buildx-cache | ||
cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max | ||
|
||
- name: - Build and push (release) | ||
if: startsWith(github.ref, 'refs/tags/') | ||
uses: docker/build-push-action@v3 | ||
with: | ||
context: variants | ||
platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64,linux/s390x | ||
push: true | ||
tags: | | ||
${{ github.repository }}:${{ steps.prep-.outputs.VARIANT }} | ||
${{ github.repository }}:${{ steps.prep-.outputs.REF_VARIANT }} | ||
${{ github.repository }}:${{ steps.prep-.outputs.REF_SHA_VARIANT }} | ||
${{ github.repository }}:latest | ||
cache-from: type=local,src=/tmp/.buildx-cache | ||
cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max | ||
|
||
# Temp fix | ||
# https://github.com/docker/build-push-action/issues/252 | ||
# https://github.com/moby/buildkit/issues/1896 | ||
- name: Move cache | ||
run: | | ||
rm -rf /tmp/.buildx-cache | ||
mv /tmp/.buildx-cache-new /tmp/.buildx-cache | ||
update-draft-release: | ||
needs: | ||
- build-1-0-3 | ||
if: github.ref == 'refs/heads/master' | ||
runs-on: ubuntu-latest | ||
steps: | ||
# Drafts your next Release notes as Pull Requests are merged into "master" | ||
- uses: release-drafter/release-drafter@v5 | ||
with: | ||
config-name: release-drafter.yml | ||
publish: false | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
publish-draft-release: | ||
needs: | ||
- build-1-0-3 | ||
if: startsWith(github.ref, 'refs/tags/') | ||
runs-on: ubuntu-latest | ||
steps: | ||
# Drafts your next Release notes as Pull Requests are merged into "master" | ||
- uses: release-drafter/release-drafter@v5 | ||
with: | ||
config-name: release-drafter.yml | ||
publish: true | ||
name: ${{ github.ref_name }} # E.g. 'master' or 'v1.2.3' | ||
tag: ${{ github.ref_name }} # E.g. 'master' or 'v1.2.3' | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
update-dockerhub-description: | ||
needs: | ||
- build-1-0-3 | ||
if: github.ref == 'refs/heads/master' | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Docker Hub Description | ||
uses: peter-evans/dockerhub-description@v3 | ||
with: | ||
username: ${{ secrets.DOCKERHUB_REGISTRY_USER }} | ||
password: ${{ secrets.DOCKERHUB_REGISTRY_PASSWORD }} | ||
repository: ${{ github.repository }} | ||
short-description: ${{ github.event.repository.description }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
name: cron | ||
on: | ||
schedule: | ||
# Run daily | ||
- cron: '0 0 * * *' | ||
workflow_dispatch: | ||
jobs: | ||
update-versions: | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: write | ||
pull-requests: write | ||
steps: | ||
# Admin user must generate a Personal Access Token with 'workflow' permissions, and used to populate the secret named WORKFLOW_TOKEN. | ||
# See: https://stackoverflow.com/questions/68811838/refusing-to-allow-a-personal-access-token-to-create-or-update-workflow | ||
# See: https://stackoverflow.com/questions/66643917/refusing-to-allow-a-github-app-to-create-or-update-workflow | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
with: | ||
token: ${{ secrets.WORKFLOW_TOKEN }} # This configures the git repo to use this token | ||
fetch-depth: 0 # Fetch all branches and tags | ||
- shell: pwsh | ||
run: | | ||
./Update-Versions.ps1 -PR -AutoMergeQueue -AutoRelease | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.WORKFLOW_TOKEN }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
{ | ||
// See https://go.microsoft.com/fwlink/?LinkId=733558 | ||
// for the documentation about the tasks.json format | ||
"version": "2.0.0", | ||
"tasks": [ | ||
{ | ||
"label": "Generate-DockerImageVariants", | ||
"type": "process", | ||
"command": "pwsh", | ||
"args": [ | ||
"-c", | ||
"Generate-DockerImageVariants ." | ||
], | ||
"group": "build" | ||
}, | ||
{ | ||
"label": "Install DockerImageVariants module", | ||
"type": "process", | ||
"command": "pwsh", | ||
"args": [ | ||
"-c", | ||
"Install-Module -Name Generate-DockerImageVariants -Repository PSGallery -Scope CurrentUser -Force -Verbose" | ||
], | ||
"group": "build" | ||
} | ||
] | ||
} |
Oops, something went wrong.