chore(deps): bump hutchic-org/kong-runtime from 1.0.8-aarch64-linux-gnu to 1.0.164-aarch64-linux-gnu #928
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
--- | |
name: Release | |
on: # yamllint disable-line rule:truthy | |
pull_request: | |
push: | |
branches: | |
- main | |
- release/* | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
jobs: | |
release: | |
name: Create Release | |
runs-on: ubuntu-latest | |
outputs: | |
published: ${{ steps.release.outputs.published }} | |
release-git-tag: ${{ steps.release.outputs.release-git-tag }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
token: ${{ secrets.GH_TOKEN }} | |
- name: Release | |
id: release | |
uses: ahmadnassri/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
build-base-artifacts: | |
runs-on: ubuntu-latest | |
name: Create OSType Artifacts | |
strategy: | |
matrix: | |
architecture: [x86_64, aarch64] | |
ostype: [linux-gnu, linux-musl] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
token: ${{ secrets.GH_TOKEN }} | |
- name: Log in to the Container registry | |
uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- uses: docker/setup-qemu-action@v3 | |
- uses: docker/setup-buildx-action@v3 | |
- name: Set environment variables | |
run: | | |
echo "ARCHITECTURE=${{ matrix.architecture }}" >> $GITHUB_ENV | |
echo "OSTYPE=${{ matrix.ostype }}" >> $GITHUB_ENV | |
echo "KONG_VERSION=`./grep-kong-version.sh`" >> $GITHUB_ENV | |
- name: Build and Archive | |
run: | | |
make build | |
tar -czvf build.tar.gz build | |
- name: Store the result | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ matrix.architecture }}-${{ matrix.ostype }} | |
path: build.tar.gz | |
retention-days: 1 | |
build-packages: | |
needs: [release, build-base-artifacts] | |
name: Create Packaged Artifacts | |
strategy: | |
matrix: | |
architecture: [{cpu: x86_64, docker: amd64}, {cpu: aarch64, docker: arm64}] | |
os: [{os: ubuntu, version: rolling, ostype: linux-gnu}, {os: ubuntu, version: 16.04, ostype: linux-gnu}, {os: debian, version: testing, ostype: linux-gnu}, | |
{os: debian, version: 10, ostype: linux-gnu}, {os: amazonlinux, version: 2, ostype: linux-gnu}, {os: amazonlinux, version: 2022, ostype: linux-gnu}, | |
{os: rhel, version: 8, ostype: linux-gnu}, {os: alpine, version: 3, ostype: linux-musl}] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
token: ${{ secrets.GH_TOKEN }} | |
- name: Download the build artifact | |
uses: actions/download-artifact@v3 | |
with: | |
name: ${{ matrix.architecture.cpu }}-${{ matrix.os.ostype }} | |
- name: Extract the build artifact | |
run: tar -xzvf build.tar.gz | |
- name: Log in to the Container registry | |
uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- uses: docker/setup-qemu-action@v3 | |
- uses: docker/setup-buildx-action@v3 | |
- name: Set environment variables | |
run: | | |
echo "ARCHITECTURE=${{ matrix.architecture.cpu }}" >> $GITHUB_ENV | |
echo "REGISTRY=ghcr.io" >> $GITHUB_ENV | |
echo "OSTYPE=${{ matrix.os.ostype }}" >> $GITHUB_ENV | |
echo "OPERATING_SYSTEM=${{ matrix.os.os }}" >> $GITHUB_ENV | |
echo "OPERATING_SYSTEM_VERSION=${{ matrix.os.version }}" >> $GITHUB_ENV | |
echo "KONG_VERSION=`./grep-kong-version.sh`" >> $GITHUB_ENV | |
- name: Build, Package, and Test | |
run: | | |
make package | |
make package/test | |
- name: Store the result | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ matrix.architecture.docker }}-${{ matrix.os.os }}-${{ matrix.os.version }} | |
path: package/* | |
retention-days: 1 | |
- name: Add Release Artifact to the Github Release | |
if: ${{ needs.release.outputs.published == 'true' }} | |
uses: softprops/action-gh-release@v2 | |
with: | |
tag_name: ${{ needs.release.outputs.release-git-tag }} | |
files: package/* | |
build-docker-artifacts: | |
needs: [release, build-packages] | |
name: Build Docker Containers | |
if: needs.build-packages.result == 'success' | |
strategy: | |
matrix: | |
architecture: [{cpu: x86_64, docker: amd64}, {cpu: aarch64, docker: arm64}] | |
os: [{os: ubuntu, version: rolling}, {os: ubuntu, version: 16.04}, {os: debian, version: testing}, {os: debian, version: 10}, {os: rhel, version: 8}, | |
{os: alpine, version: 3}] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
token: ${{ secrets.GH_TOKEN }} | |
- name: Download the package | |
uses: actions/download-artifact@v3 | |
with: | |
name: ${{ matrix.architecture.docker }}-${{ matrix.os.os }}-${{ matrix.os.version }} | |
path: package/ | |
- name: Log in to the Container registry | |
uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- uses: docker/setup-qemu-action@v3 | |
- uses: docker/setup-buildx-action@v3 | |
- name: Set environment variables | |
run: | | |
echo "ARCHITECTURE=${{ matrix.architecture.cpu }}" >> $GITHUB_ENV | |
echo "REGISTRY=ghcr.io" >> $GITHUB_ENV | |
echo "OPERATING_SYSTEM=${{ matrix.os.os }}" >> $GITHUB_ENV | |
echo "OPERATING_SYSTEM_VERSION=${{ matrix.os.version }}" >> $GITHUB_ENV | |
echo "KONG_VERSION=`./grep-kong-version.sh`" >> $GITHUB_ENV | |
- name: Build Docker Image | |
run: make docker | |
- name: Docker meta | |
if: ${{ needs.release.outputs.published == 'true' }} | |
id: meta | |
uses: docker/metadata-action@v5 | |
with: | |
images: ghcr.io/hutchic-org/kong-development | |
sep-tags: ' ' | |
flavor: | | |
suffix=-${{ matrix.architecture.docker }}-${{ matrix.os.os }}-${{ matrix.os.version }} | |
tags: | | |
type=sha | |
type=ref,event=branch | |
type=semver,pattern={{version}},value=${{ needs.release.outputs.release-git-tag }} | |
type=semver,pattern={{major}}.{{minor}},value=${{ needs.release.outputs.release-git-tag }} | |
type=semver,pattern={{version}},value=${{ env.KONG_VERSION }} | |
type=semver,pattern={{major}}.{{minor}},value=${{ env.KONG_VERSION }} | |
- name: Retag and Push | |
if: ${{ needs.release.outputs.published == 'true' }} | |
run: | | |
for tag in ${{ steps.meta.outputs.tags }}; do \ | |
docker tag ghcr.io/hutchic-org/kong-development:${{ matrix.architecture.docker }}-${{ matrix.os.os }}-${{ matrix.os.version }} $tag && \ | |
docker push $tag; \ | |
done | |
build-multi-arch-docker: | |
needs: [release, build-packages, build-docker-artifacts] | |
name: Build multi-arch manifests | |
if: ${{ needs.release.outputs.published == 'true' }} | |
strategy: | |
matrix: | |
os: [{os: ubuntu, version: rolling}, {os: ubuntu, version: 16.04}, {os: debian, version: testing}, {os: debian, version: 10}, {os: rhel, version: 8}, | |
{os: alpine, version: 3}] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
token: ${{ secrets.GH_TOKEN }} | |
- name: Log in to the Container registry | |
uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Set environment variables | |
run: | | |
echo "KONG_VERSION=`./grep-kong-version.sh`" >> $GITHUB_ENV | |
- name: Docker meta | |
if: ${{ needs.release.outputs.published == 'true' }} | |
id: meta | |
uses: docker/metadata-action@v5 | |
with: | |
images: ghcr.io/hutchic-org/kong-development | |
sep-tags: ' ' | |
flavor: | | |
suffix=-${{ matrix.os.os }}-${{ matrix.os.version }} | |
tags: | | |
type=sha | |
type=ref,event=branch | |
type=semver,pattern={{version}},value=${{ needs.release.outputs.release-git-tag }} | |
type=semver,pattern={{major}}.{{minor}},value=${{ needs.release.outputs.release-git-tag }} | |
type=semver,pattern={{version}},value=${{ env.KONG_VERSION }} | |
type=semver,pattern={{major}}.{{minor}},value=${{ env.KONG_VERSION }} | |
- name: Combine per architecture images into a single multi-arch manifest | |
if: ${{ needs.release.outputs.published == 'true' }} | |
run: | | |
docker pull ghcr.io/hutchic-org/kong-development:${{ needs.release.outputs.release-git-tag }}-arm64-${{ matrix.os.os }}-${{ matrix.os.version }} | |
docker pull ghcr.io/hutchic-org/kong-development:${{ needs.release.outputs.release-git-tag }}-amd64-${{ matrix.os.os }}-${{ matrix.os.version }} | |
for tag in ${{ steps.meta.outputs.tags }}; do \ | |
docker manifest create $tag \ | |
ghcr.io/hutchic-org/kong-development:${{ needs.release.outputs.release-git-tag }}-arm64-${{ matrix.os.os }}-${{ matrix.os.version }} \ | |
ghcr.io/hutchic-org/kong-development:${{ needs.release.outputs.release-git-tag }}-amd64-${{ matrix.os.os }}-${{ matrix.os.version }} && \ | |
docker manifest push $tag; \ | |
done | |
done: | |
needs: [build-docker-artifacts] | |
name: Done | |
if: needs.build-packages.result == 'success' | |
runs-on: ubuntu-latest | |
steps: | |
- run: echo 'done' |