# 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 }}