name: Release on: push: tags: - 'v*.*.*' jobs: create-release: name: Build and Create Tagged Release runs-on: ubuntu-latest steps: - name: Install archive tools run: sudo apt install zip - name: Checkout source code uses: actions/checkout@v2 with: fetch-depth: 0 ref: ${{ github.event.repository.default_branch }} - name: Setup node uses: actions/setup-node@v3 with: node-version: 16.x cache: 'yarn' cache-dependency-path: web - name: Set env run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} - name: Install dependencies & Build run: yarn --frozen-lockfile && yarn build working-directory: web - name: Bump manifest version run: node .github/actions/bump-manifest-version.js env: TGT_RELEASE_VERSION: ${{ github.ref_name }} - name: Push manifest change uses: EndBug/add-and-commit@v8 with: add: fxmanifest.lua push: true author_name: Manifest Bumper author_email: 41898282+github-actions[bot]@users.noreply.github.com message: 'chore: bump manifest version to ${{ github.ref_name }}' - name: Update tag ref uses: EndBug/latest-tag@latest with: tag-name: ${{ github.ref_name }} - name: Bundle files run: | mkdir -p ./temp/fivem-scenes cp ./{LICENSE,README.md,fxmanifest.lua,config.lua,scenes.sql} ./temp/fivem-scenes cp -r ./client ./temp/fivem-scenes cp -r ./server ./temp/fivem-scenes cp -r ./stream ./temp/fivem-scenes mkdir -p ./temp/fivem-scenes/web/build cp -r ./web/build/* ./temp/fivem-scenes/web/build/ cd ./temp && zip -r ../fivem-scenes.zip ./fivem-scenes - name: Create Release uses: 'marvinpinto/action-automatic-releases@v1.2.1' id: auto_release with: repo_token: '${{ secrets.GITHUB_TOKEN }}' title: ${{ env.RELEASE_VERSION }} prerelease: false files: fivem-scenes.zip env: CI: false GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}