From 6ebbbc80af447480e5204ab3dea3ce3cba3fb34c Mon Sep 17 00:00:00 2001 From: Leo Galambos Date: Sat, 5 Jul 2025 01:30:20 +0200 Subject: [PATCH] Initial workflow setup --- .gitea/workflows/release.yml | 47 ++++++++++++++++++++++++++ .gitea/workflows/tag.yml | 64 ++++++++++++++++++++++++++++++++++++ 2 files changed, 111 insertions(+) create mode 100644 .gitea/workflows/release.yml create mode 100644 .gitea/workflows/tag.yml diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml new file mode 100644 index 0000000..fc33a82 --- /dev/null +++ b/.gitea/workflows/release.yml @@ -0,0 +1,47 @@ +name: Release + +on: + push: + tags: + - 'conflux@*' + +jobs: + release: + runs-on: ubuntu-latest + + env: + giteaToken: ${{ secrets.CI_PUBLISH_TOKEN }} + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Java 21 + uses: actions/setup-java@v3 + with: + distribution: temurin + java-version: 21 + + - name: Cache Gradle + uses: actions/cache@v3 + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} + + - name: Build and publish to Gitea Maven + run: ./gradlew clean publish --no-daemon + + - name: Upload built JAR + uses: actions/upload-artifact@v3 + with: + name: conflux + path: build/libs/*.jar + + - name: Create Gitea Release + uses: softprops/action-gh-release@v2 + with: + files: build/libs/*.jar + tag_name: ${{ github.ref_name }} + name: Release ${{ github.ref_name }} diff --git a/.gitea/workflows/tag.yml b/.gitea/workflows/tag.yml new file mode 100644 index 0000000..f65275c --- /dev/null +++ b/.gitea/workflows/tag.yml @@ -0,0 +1,64 @@ +name: Tag version + +on: + workflow_dispatch: + inputs: + bump: + description: "Which part to bump?" + required: true + default: "patch" + type: choice + options: + - major + - minor + - patch + +jobs: + tag: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Configure git + run: | + echo "${{ secrets.CI_BOT_GPG_PRIVATE_KEY }}" | gpg --import --batch --yes + echo -e "5\ny\n" | gpg --command-fd 0 --edit-key $GPG_KEY_ID trust + git config --global user.signingkey $GPG_KEY_ID + git config --global commit.gpgSign true + git config --global tag.gpgSign true + git config user.name "Gitea CI" + git config user.email "gitea-ci@hq.egothor.org" + git remote set-url origin https://ci-bot:${GITEA_PUSH_TOKEN}@gitea.egothor.org/Egothor/conflux.git + env: + GITEA_PUSH_TOKEN: ${{ secrets.CI_PUSH_TOKEN }} + GPG_KEY_ID: ${{ secrets.CI_BOT_GPG_KEY_ID }} + + - name: Bump version and tag + run: | + latest=$(git tag --list 'conflux@*' | sed 's/conflux@//' | sort -V | tail -n 1) + if [[ -z "$latest" ]]; then + latest="0.0.0" + fi + echo "Latest: $latest" + IFS='.' read -r major minor patch <<<"$latest" + case "${{ github.event.inputs.bump }}" in + major) + major=$((major+1)); minor=0; patch=0 ;; + minor) + minor=$((minor+1)); patch=0 ;; + patch) + patch=$((patch+1)) ;; + *) + echo "Invalid bump type" + exit 1 + ;; + esac + next="$major.$minor.$patch" + new_tag="conflux@$next" + git tag -s $new_tag -m "Release $new_tag" + git push origin $new_tag + echo "Tagged $new_tag"