Add Windows ARM64 build #58
Workflow file for this run
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: Create Release & Upload Assets | |
on: | |
push: | |
# Sequence of patterns matched against refs/tags | |
tags: | |
- "v*" # Push events to matching v*, i.e. v1.0, v20.15.10 | |
jobs: | |
ci: | |
uses: smallstep/step-kms-plugin/.github/workflows/ci.yml@main | |
secrets: inherit | |
create_release: | |
name: Create Release | |
needs: ci | |
runs-on: ubuntu-latest | |
env: | |
DOCKER_IMAGE: smallstep/step-kms-plugin | |
CLOUD_TAG: cloud | |
DEBIAN_TAG: bullseye | |
outputs: | |
version: ${{ steps.extract-tag.outputs.VERSION }} | |
is_prerelease: ${{ steps.is_prerelease.outputs.IS_PRERELEASE }} | |
docker_tags: ${{ env.DOCKER_TAGS }} | |
docker_tags_cloud: ${{ env.DOCKER_TAGS_CLOUD }} | |
docker_tags_debian: ${{ env.DOCKER_TAGS_DEBIAN }} | |
steps: | |
- name: Is Pre-release | |
id: is_prerelease | |
run: | | |
set +e | |
echo ${{ github.ref }} | grep "\-rc.*" | |
OUT=$? | |
if [ $OUT -eq 0 ]; then IS_PRERELEASE=true; else IS_PRERELEASE=false; fi | |
echo "IS_PRERELEASE=${IS_PRERELEASE}" >> ${GITHUB_OUTPUT} | |
- name: Extract Tag Names | |
id: extract-tag | |
run: | | |
VERSION=${GITHUB_REF#refs/tags/v} | |
echo "VERSION=${VERSION}" >> ${GITHUB_OUTPUT} | |
echo "DOCKER_TAGS=${{ env.DOCKER_IMAGE }}:${VERSION}" >> ${GITHUB_ENV} | |
echo "DOCKER_TAGS_CLOUD=${{ env.DOCKER_IMAGE }}:${VERSION}-${CLOUD_TAG}" >> ${GITHUB_ENV} | |
echo "DOCKER_TAGS_DEBIAN=${{ env.DOCKER_IMAGE }}:${VERSION}-${DEBIAN_TAG}" >> ${GITHUB_ENV} | |
- name: Add Latest Tag | |
if: steps.is_prerelease.outputs.IS_PRERELEASE == 'false' | |
run: | | |
echo "DOCKER_TAGS=${{ env.DOCKER_TAGS }},${{ env.DOCKER_IMAGE }}:latest" >> ${GITHUB_ENV} | |
echo "DOCKER_TAGS_CLOUD=${{ env.DOCKER_IMAGE }}:${CLOUD_TAG}" >> ${GITHUB_ENV} | |
echo "DOCKER_TAGS_DEBIAN=${{ env.DOCKER_IMAGE }}:${DEBIAN_TAG}" >> ${GITHUB_ENV} | |
- name: Create Release | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ github.ref }} | |
release_name: Release ${{ github.ref }} | |
draft: false | |
prerelease: ${{ steps.is_prerelease.outputs.IS_PRERELEASE }} | |
goreleaser: | |
name: Upload Assets to Github w/ goreleaser | |
runs-on: ubuntu-latest | |
needs: create_release | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: setup release environment | |
run: |- | |
echo 'GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}' > .release-env | |
- name: release publish | |
run: make release | |
build_upload_docker: | |
name: Build & Upload Docker Image | |
needs: create_release | |
permissions: | |
id-token: write | |
contents: write | |
uses: smallstep/workflows/.github/workflows/docker-buildx-push.yml@main | |
with: | |
platforms: linux/amd64,linux/arm64,linux/386,linux/arm | |
tags: ${{ needs.create_release.outputs.docker_tags }} | |
docker_image: smallstep/step-kms-plugin | |
docker_file: docker/Dockerfile | |
secrets: inherit | |
build_upload_docker_debian: | |
name: Build & Upload Debian Docker Image | |
needs: create_release | |
permissions: | |
id-token: write | |
contents: write | |
uses: smallstep/workflows/.github/workflows/docker-buildx-push.yml@main | |
with: | |
platforms: linux/amd64,linux/386,linux/arm,linux/arm64 | |
tags: ${{ needs.create_release.outputs.docker_tags_debian }} | |
docker_image: smallstep/step-kms-plugin | |
docker_file: docker/Dockerfile.debian | |
secrets: inherit | |
build_upload_docker_cloud: | |
name: Build & Upload Cloud-Only Docker Image | |
needs: create_release | |
permissions: | |
id-token: write | |
contents: write | |
uses: smallstep/workflows/.github/workflows/docker-buildx-push.yml@main | |
with: | |
platforms: linux/amd64,linux/arm64,linux/386,linux/arm | |
tags: ${{ needs.create_release.outputs.docker_tags_cloud }} | |
docker_image: smallstep/step-kms-plugin | |
docker_file: docker/Dockerfile.cloud | |
secrets: inherit |