Skip to content

Commit

Permalink
ci: add aur
Browse files Browse the repository at this point in the history
  • Loading branch information
guilhermeprokisch committed Sep 14, 2024
1 parent b990b03 commit 274bca0
Showing 1 changed file with 74 additions and 74 deletions.
148 changes: 74 additions & 74 deletions .github/workflows/tag.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,54 +15,54 @@ permissions:
pull-requests: write

jobs:
create-tag:
runs-on: ubuntu-latest
outputs:
version: ${{ steps.extract_version.outputs.version }}
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
token: ${{ secrets.RELEASE_BOT }}
- name: Extract version from commit message or input
id: extract_version
run: |
if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then
echo "version=${{ github.event.inputs.version }}" >> $GITHUB_OUTPUT
else
COMMIT_MSG=$(git log --format=%B -n 1 ${{ github.sha }})
if [[ $COMMIT_MSG =~ chore\(main\):\ release\ ([0-9]+\.[0-9]+\.[0-9]+) ]]; then
echo "version=${BASH_REMATCH[1]}" >> $GITHUB_OUTPUT
else
echo "version=" >> $GITHUB_OUTPUT
fi
fi
- name: Create and push tag
if: steps.extract_version.outputs.version != ''
run: |
VERSION=${{ steps.extract_version.outputs.version }}
git config user.name Guilherme Prokisch
git config user.email [email protected]
git tag -a v$VERSION -m "Release v$VERSION"
git push origin v$VERSION
env:
GH_TOKEN: ${{ secrets.RELEASE_BOT }}

publish:
name: Publish to crates.io
needs: create-tag
if: needs.create-tag.outputs.version != ''
runs-on: ubuntu-latest
environment: crates.io
steps:
- uses: actions/checkout@v3
- uses: swatinem/rust-cache@v2
- name: Publish
run: >
cargo publish
--verbose
--locked
--token ${{ secrets.CARGO_REGISTRY_TOKEN }}
# create-tag:
# runs-on: ubuntu-latest
# outputs:
# version: ${{ steps.extract_version.outputs.version }}
# steps:
# - name: Checkout code
# uses: actions/checkout@v3
# with:
# token: ${{ secrets.RELEASE_BOT }}
# - name: Extract version from commit message or input
# id: extract_version
# run: |
# if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then
# echo "version=${{ github.event.inputs.version }}" >> $GITHUB_OUTPUT
# else
# COMMIT_MSG=$(git log --format=%B -n 1 ${{ github.sha }})
# if [[ $COMMIT_MSG =~ chore\(main\):\ release\ ([0-9]+\.[0-9]+\.[0-9]+) ]]; then
# echo "version=${BASH_REMATCH[1]}" >> $GITHUB_OUTPUT
# else
# echo "version=" >> $GITHUB_OUTPUT
# fi
# fi
# - name: Create and push tag
# if: steps.extract_version.outputs.version != ''
# run: |
# VERSION=${{ steps.extract_version.outputs.version }}
# git config user.name Guilherme Prokisch
# git config user.email [email protected]
# git tag -a v$VERSION -m "Release v$VERSION"
# git push origin v$VERSION
# env:
# GH_TOKEN: ${{ secrets.RELEASE_BOT }}
#
# publish:
# name: Publish to crates.io
# needs: create-tag
# if: needs.create-tag.outputs.version != ''
# runs-on: ubuntu-latest
# environment: crates.io
# steps:
# - uses: actions/checkout@v3
# - uses: swatinem/rust-cache@v2
# - name: Publish
# run: >
# cargo publish
# --verbose
# --locked
# --token ${{ secrets.CARGO_REGISTRY_TOKEN }}

publish-aur:
name: Publish to AUR
Expand Down Expand Up @@ -104,29 +104,29 @@ jobs:
git commit -m "Update to version ${{ needs.create-tag.outputs.version }}"
git push
cleanup-pr-labels:
name: Remove labels from release PR
needs: [create-tag, publish, publish-aur]
if: needs.create-tag.outputs.version != ''
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
token: ${{ secrets.RELEASE_BOT }}
- name: Remove labels from release PR
env:
GH_TOKEN: ${{ secrets.RELEASE_BOT }}
VERSION: ${{ needs.create-tag.outputs.version }}
run: |
PR_NUMBER=$(gh pr list --state closed --limit 1 --search "chore(main): release $VERSION in:title" --json number --jq '.[0].number')
if [ ! -z "$PR_NUMBER" ]; then
echo "Found PR #$PR_NUMBER for release $VERSION"
LABELS=$(gh pr view $PR_NUMBER --json labels --jq '.labels[].name')
for label in $LABELS; do
echo "Removing label: $label"
gh pr edit $PR_NUMBER --remove-label "$label"
done
else
echo "No matching PR found for release $VERSION"
fi
# cleanup-pr-labels:
# name: Remove labels from release PR
# needs: [create-tag, publish, publish-aur]
# if: needs.create-tag.outputs.version != ''
# runs-on: ubuntu-latest
# steps:
# - name: Checkout code
# uses: actions/checkout@v3
# with:
# token: ${{ secrets.RELEASE_BOT }}
# - name: Remove labels from release PR
# env:
# GH_TOKEN: ${{ secrets.RELEASE_BOT }}
# VERSION: ${{ needs.create-tag.outputs.version }}
# run: |
# PR_NUMBER=$(gh pr list --state closed --limit 1 --search "chore(main): release $VERSION in:title" --json number --jq '.[0].number')
# if [ ! -z "$PR_NUMBER" ]; then
# echo "Found PR #$PR_NUMBER for release $VERSION"
# LABELS=$(gh pr view $PR_NUMBER --json labels --jq '.labels[].name')
# for label in $LABELS; do
# echo "Removing label: $label"
# gh pr edit $PR_NUMBER --remove-label "$label"
# done
# else
# echo "No matching PR found for release $VERSION"
# fi

0 comments on commit 274bca0

Please sign in to comment.