Skip to content

Acquire lock before filter #94

Acquire lock before filter

Acquire lock before filter #94

Workflow file for this run

name: Release
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@v6
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-latest, 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@v3
with:
token: ${{ secrets.GITHUB_TOKEN }}
ref: ${{ env.tag_name }}
fetch-depth: 0
- uses: actions/setup-python@v4
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 }}