From c4d599834a81601b79589d9ab56fda59bbdc5608 Mon Sep 17 00:00:00 2001 From: MarvinF Date: Tue, 16 Jun 2026 21:06:47 +0200 Subject: [PATCH] Create dev_preview --- .github/workflows/dev_preview | 84 +++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 .github/workflows/dev_preview diff --git a/.github/workflows/dev_preview b/.github/workflows/dev_preview new file mode 100644 index 0000000..e5cf7f3 --- /dev/null +++ b/.github/workflows/dev_preview @@ -0,0 +1,84 @@ +# Builds the codebase and publishes a rolling dev-preview release (no version bump). +# The release uses a fixed tag "dev-preview" so each run replaces the previous one. + +name: Sportsmanager Dev Preview + +on: + workflow_dispatch: + inputs: + branch: + description: 'Branch to build' + required: true + default: 'sportsmanager2-prod' + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + ref: ${{ inputs.branch }} + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + + - name: Install npm dependencies + run: npm ci + + - name: Run build script + run: npm run release + + - name: Delete existing dev-preview release (if any) + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + REPO: ${{ github.repository }} + run: | + release_id=$(curl -s -H "Authorization: token $GITHUB_TOKEN" \ + "https://api.github.com/repos/$REPO/releases/tags/dev-preview" \ + | jq -r '.id // empty') + + if [ -n "$release_id" ]; then + curl -s -X DELETE -H "Authorization: token $GITHUB_TOKEN" \ + "https://api.github.com/repos/$REPO/releases/$release_id" + echo "Deleted existing dev-preview release (ID: $release_id)" + else + echo "No existing dev-preview release found" + fi + + - name: Delete existing dev-preview tag (if any) + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + REPO: ${{ github.repository }} + run: | + status=$(curl -s -o /dev/null -w "%{http_code}" \ + -H "Authorization: token $GITHUB_TOKEN" \ + "https://api.github.com/repos/$REPO/git/refs/tags/dev-preview") + + if [ "$status" = "200" ]; then + curl -s -X DELETE -H "Authorization: token $GITHUB_TOKEN" \ + "https://api.github.com/repos/$REPO/git/refs/tags/dev-preview" + echo "Deleted existing dev-preview tag" + else + echo "No existing dev-preview tag found" + fi + + - name: Publish dev-preview release + uses: softprops/action-gh-release@v2 + with: + tag_name: dev-preview + name: "Dev Preview (${{ github.run_number }})" + body: | + Automated dev preview build from branch `${{ inputs.branch }}`. + Commit: ${{ github.sha }} + Run: ${{ github.run_number }} + + > This is a temporary preview release and will be replaced on the next run. + files: package/packages/com_sportsmanager.zip + draft: false + prerelease: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}