name: ci on: [ push, pull_request ] jobs: ci: runs-on: ubuntu-latest permissions: contents: write pull-requests: write statuses: write steps: - name: Check out repository code uses: actions/checkout@v4 - name: Setup Node uses: actions/setup-node@v4 with: node-version: 20 - id: version name: version run: | major=${{contains(github.event.head_commit.message, 'major')}} minor=${{contains(github.event.head_commit.message, 'minor')}} echo "major: " $major echo "minor: " $minor if ${{ github.ref_name == 'main' }}; then echo "on main" if [[ $major ]]; then newVersion="major" elif [[ $minor ]]; then newVersion="minor" else newVersion="patch" fi else if [[ $major ]]; then newVersion="premajor" elif [[ $minor ]]; then newVersion="preminor" else newVersion="prepatch" fi fi npm version "$newVersion" --git-tag-version=false echo "VERSION=$(npm --silent run version)" >> ${GITHUB_OUTPUT} - name: npm ci run: npm ci - name: build run: npm run build - name: zip release if: github.ref_name == 'main' working-directory: dist run: zip -r foundryvtt-dice-tower-${{ steps.version.outputs.VERSION }}.zip . # - name: create tag # if: github.ref_name == 'main' # run: | # git config user.email "ci@git.arindy.de" # git config user.name "gitea" # git add package.json # git add package-lock.json # git commit -m "[no ci] ${{ steps.version.outputs.VERSION }}" # git tag ${{ steps.version.outputs.VERSION }} -m "release ${{ steps.version.outputs.VERSION }}" # git push origin main # git push origin ${{ steps.version.outputs.VERSION }} # # - name: release # if: github.ref_name == 'main' # uses: akkuman/gitea-release-action@v1 # env: # NODE_OPTIONS: '--experimental-fetch' # if nodejs < 18 # with: # files: |- # dist/foundryvtt-dice-tower-${{ steps.version.outputs.VERSION }}.zip # dist/module.json # tag_name: ${{ steps.version.outputs.VERSION }} # name: Release ${{ steps.version.outputs.VERSION }}