name: Build and Save Artifact on: push: branches: - main - dev pull_request: branches: - main jobs: build: runs-on: ubuntu-latest steps: # Checkout the repository - name: Checkout repository uses: actions/checkout@v3 # Set up Node.js environment - name: Set up Node.js uses: actions/setup-node@v3 with: node-version: '22' # Initialize build branch - name: Initialize build branch run: | git config --global user.name 'Git Workflow Bot' git config --global user.email 'noreply@kozelkaricsi.hu' git fetch --all --unshallow BRANCH_NAME="${GITHUB_REF_NAME}-build" git fetch origin $BRANCH_NAME --unshallow || true # Allow failure if branch doesn't exist git switch $BRANCH_NAME || git switch -c $BRANCH_NAME git merge ${GITHUB_REF_NAME} rm -rf dist # Install dependencies - name: Install dependencies run: npm install # Build the project - name: Run npm build run: npm run build # Commit build files - name: Commit build files to build branch run: | git add -f dist git commit -m "Build" || echo "Nothing to commit" git push origin HEAD --force # Push to the current branch # Upload the build directory as an artifact - name: Upload build artifact uses: actions/upload-artifact@v3 with: name: build-artifact path: | ./dist ./package.json