76 lines
2.4 KiB
YAML
76 lines
2.4 KiB
YAML
name: Actions
|
|
on:
|
|
push:
|
|
branches:
|
|
- 'main'
|
|
|
|
jobs:
|
|
Build Gunpack:
|
|
runs-on: docker
|
|
container: catthehacker/ubuntu:act-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Upload artifact
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: emxarms
|
|
path: |
|
|
!.forgejo/
|
|
./*
|
|
|
|
Autotagger:
|
|
runs-on: docker
|
|
container: catthehacker/ubuntu:act-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Set up Git
|
|
run: |
|
|
git config --global user.name "GalacticFactory"
|
|
git config --global user.email "contact@galacticfactory.cc"
|
|
|
|
- name: Import GPG key
|
|
uses: actions/gpg@v4
|
|
with:
|
|
gpg_private_key : ${{ secrets.GPG_PRIVATE_KEY }}
|
|
passphrase : ${{ secrets.GPG_PASSPHRASE }}
|
|
|
|
- name: Extract commit message
|
|
id: extract_commit_message
|
|
run: echo "::set-output name=message::$(git log --format=%B -n 1 $GITHUB_SHA)"
|
|
|
|
- name: Check commit message
|
|
id: check_commit_message
|
|
run: |
|
|
COMMIT_MESSAGE=$(echo "${{ steps.extract_commit_message.outputs.message }}")
|
|
OUTPUT=$(python .gitea/workflows/scripts/message.py "$COMMIT_MESSAGE")
|
|
if [ "$OUTPUT" = "Usage: python message.py <commit_message>" ]; then
|
|
echo "Called without commit message!"
|
|
exit 1
|
|
elif [ "$OUTPUT" = "None" ]; then
|
|
echo "No version bump."
|
|
echo "::set-output name=latest_tag::$(git describe --tags --abbrev=0)"
|
|
else
|
|
echo "Version bump detected: $OUTPUT"
|
|
echo "::set-output name=version::$OUTPUT"
|
|
fi
|
|
|
|
- name: Create tag
|
|
if: steps.check_commit_message.outputs.version
|
|
run: |
|
|
VERSION=${{ steps.check_commit_message.outputs.version }}
|
|
git tag -s $VERSION -m "version bumped to $VERSION"
|
|
git push origin $VERSION
|
|
|
|
- name: Update latest tag
|
|
if: steps.check_commit_message.outputs.latest_tag
|
|
run: |
|
|
COMMIT_MESSAGE=$(echo "${{ steps.extract_commit_message.outputs.message }}")
|
|
LATEST_TAG=${{ steps.check_commit_message.outputs.latest_tag }}
|
|
git tag -fs $LATEST_TAG -m "$COMMIT_MESSAGE"
|
|
git push origin $LATEST_TAG --force
|