Skip to content

Set Version: 0.1.99 #377

Set Version: 0.1.99

Set Version: 0.1.99 #377

Workflow file for this run

name: 'Master Push'
on:
push:
branches:
- master
jobs:
draft-release:
name: 'Draft Release'
runs-on: ubuntu-latest
steps:
- name: 'Check out code'
uses: actions/checkout@v4
- name: 'Make release'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
set -x
VERSION=v$(cat package/version)
gh release create ${VERSION} \
--repo runtimeverification/llvm-backend \
--draft \
--title ${VERSION} \
--target ${{ github.sha }}
build-ubuntu-package:
name: 'Build Ubuntu package'
runs-on: [self-hosted, linux, normal]
needs: draft-release
strategy:
matrix:
include:
- distro: jammy
llvm: 15
- distro: noble
llvm: 17
steps:
- uses: actions/checkout@v4
- name: 'Check out code'
uses: actions/checkout@v4
with:
path: k-llvm-${{ matrix.distro }}
submodules: recursive
- name: 'Build package in Docker'
uses: ./.github/actions/test-package
with:
os: ubuntu
distro: ${{ matrix.distro }}
llvm: ${{ matrix.llvm }}
build-package: package/debian/build-package ${{ matrix.distro }}
test-package: package/debian/test-package
pkg-name: k-llvm-backend_amd64_ubuntu_${{ matrix.distro }}.deb
- name: 'Upload to release'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
set -x
VERSION=v$(cat package/version)
cp k-llvm-backend_amd64_ubuntu_${{ matrix.distro }}.deb k-llvm-backend_${VERSION}_amd64_ubuntu_${{ matrix.distro }}.deb
gh release upload ${VERSION} \
--repo runtimeverification/llvm-backend \
--clobber \
k-llvm-backend_${VERSION}_amd64_ubuntu_${{ matrix.distro }}.deb
- name: 'On failure, delete drafted release'
if: failure()
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
set -x
VERSION=v$(cat package/version)
gh release delete ${VERSION} \
--repo runtimeverification/llvm-backend \
--yes \
--cleanup-tag
cachix:
name: 'Publish to Cachix'
strategy:
fail-fast: false
matrix:
include:
- runner: [self-hosted, linux, normal]
os: ubuntu-24.04
- runner: MacM1
os: self-macos-12
runs-on: ${{ matrix.runner }}
steps:
- name: 'Check out code'
uses: actions/checkout@v4
- name: 'Install Nix'
if: ${{ !startsWith(matrix.os, 'self') }}
uses: cachix/install-nix-action@v22
with:
install_url: https://releases.nixos.org/nix/nix-2.13.3/install
extra_nix_config: |
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
- name: 'Install Cachix'
uses: cachix/cachix-action@v12
with:
name: k-framework
authToken: '${{ secrets.CACHIX_PUBLIC_TOKEN }}'
skipPush: true
- name: 'Push Flake to Cachix'
run: |
GC_DONT_GC=1 nix build --print-build-logs . --json \
| jq -r '.[].outputs | to_entries[].value' \
| cachix push k-framework
release:
name: 'Publish Release'
runs-on: ubuntu-latest
environment: production
needs: [build-ubuntu-package, cachix]
steps:
- name: 'Check out code'
uses: actions/checkout@v4
- name: 'Finalise release'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
set -x
VERSION=v$(cat package/version)
gh release edit ${VERSION} --draft=false
- name: 'Update dependents'
env:
GITHUB_TOKEN: ${{ secrets.JENKINS_GITHUB_PAT }}
run: |
set -x
VERSION=$(cat package/version)
curl --fail \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${GITHUB_TOKEN}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/runtimeverification/devops/dispatches \
-d '{"event_type":"on-demand-test","client_payload":{"repo":"runtimeverification/llvm-backend","version":"'${VERSION}'"}}'