Skip to content

Make this deterministic #247

Make this deterministic

Make this deterministic #247

Workflow file for this run

name: Release
permissions:
contents: write
on:
pull_request:
types: [closed]
branches:
- main
jobs:
create_release:
name: Create release
runs-on: ubuntu-latest
if: github.event.pull_request.merged == true && startsWith(github.head_ref, 'release/')
steps:
- name: Create release
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
env:
RELEASE_BRANCH: ${{ github.head_ref }}
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const tagName = `${process.env.RELEASE_BRANCH.split("/")[1]}`;
await github.rest.git.createRef({
owner: context.repo.owner,
repo: context.repo.repo,
ref: `refs/tags/${tagName}`,
sha: context.payload.pull_request.merge_commit_sha,
});
await github.rest.repos.createRelease({
owner: context.repo.owner,
repo: context.repo.repo,
generate_release_notes: true,
tag_name: tagName,
});
build_artifacts:
needs: create_release
name: Build executables
strategy:
matrix:
os: [ubuntu-22.04-arm, ubuntu-22.04, windows-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Set tag
env:
RELEASE_BRANCH: ${{ github.head_ref }}
run: |
TAG_NAME=$(echo $RELEASE_BRANCH | cut -d "/" -f2)
echo "tag_name=$TAG_NAME" >> "$GITHUB_ENV"
shell: bash
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
token: ${{ secrets.GITHUB_TOKEN }}
ref: ${{ env.tag_name }}
fetch-depth: 0
- uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with:
python-version: "3.12"
- name: Install requirements
run: |
python -m pip install .
python -m pip install -r scripts/build_requirements.txt
- name: Build and upload executables
run: python scripts/build.py -f -u
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}