Create Release #4
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 | |
on: | |
workflow_dispatch: | |
inputs: | |
tag: | |
description: 'The next release tag to use' | |
required: false | |
type: string | |
push: | |
branches: | |
- 'main' | |
tags: | |
- 'v*' | |
# Ensures that only one deploy task per branch/environment will run at a time. | |
concurrency: | |
group: environment-${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
# Use docker.io for Docker Hub if empty | |
REGISTRY: ghcr.io | |
# github.repository as <account>/<repo> | |
IMAGE_NAME: ${{ github.repository }} | |
jobs: | |
docker: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
packages: write | |
steps: | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
with: | |
driver-opts: network=host | |
install: true | |
- name: Log into registry ${{ env.REGISTRY }} | |
if: github.event_name != 'pull_request' | |
uses: docker/login-action@v3 | |
with: | |
registry: ${{ env.REGISTRY }} | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Expose GitHub Runtime | |
uses: crazy-max/ghaction-github-runtime@v3 | |
# - name: Env | |
# run: | | |
# # ACTIONS_RUNTIME_TOKEN, ACTIONS_RUNTIME_URL should be exposed | |
# env|sort | |
- name: Check out the repository to the runner | |
uses: actions/checkout@v4 | |
# - name: Set up caching | |
# In this step, this action saves a list of existing images, | |
# the cache is created without them in the post run. | |
# It also restores the cache if it exists. | |
# uses: jpribyl/[email protected] | |
# # Ignore the failure of a step and avoid terminating the job. | |
# continue-on-error: true | |
- name: Bump version and push tag | |
id: tag_version | |
uses: mathieudutour/[email protected] | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
custom_tag: ${{ inputs.tag }} | |
- name: Build the builder | |
run: ./zquickinit.sh builder --githubaction --load | |
- name: Push OCI package to registry | |
run: ./zquickinit.sh builder --githubaction --push --tag ghcr.io/midzelis/zquickinit:latest --tag ghcr.io/midzelis/zquickinit:${{ steps.tag_version.outputs.new_tag }} | |
- name: Build initramfs | |
run: ./zquickinit.sh initramfs --noask --release | |
- name: Build ISO | |
run: sudo apt-get install -y mtools xorriso coreutils findutils && ./zquickinit.sh iso | |
- name: Create a GitHub release | |
uses: ncipollo/[email protected] | |
with: | |
tag: ${{ steps.tag_version.outputs.new_tag }} | |
name: Release ${{ steps.tag_version.outputs.new_tag }} | |
body: ${{ steps.tag_version.outputs.changelog }} | |
removeArtifacts: true | |
artifacts: "output/zquickinit.efi,zquickinit.iso" | |
allowUpdates: true |