diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..499df19 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,65 @@ +name: check version number and minify + +on: + push: + paths: + - 'coi-serviceworker.js' + - 'package.json' + +permissions: + contents: write + +jobs: + sync-minify-push: + runs-on: ubuntu-latest + steps: + - name: checkout + uses: actions/checkout@v4 + - name: setup node + uses: actions/setup-node@v3 + - name: git config to enable bot to push + run: | + git remote set-url origin https://github-actions:${{ secrets.GITHUB_TOKEN }}@github.com/${GITHUB_REPOSITORY} + git config --local user.email "github-actions[bot]@users.noreply.github.com" + git config --local user.name "github-actions[bot]" + + - name: npm install + run: | + cp package-lock.json lock-orig + npm install + - name: push package-lock.json + if: ${{ hashFiles('package-lock.json') != hashFiles('lock-orig') }} + run: | + git add package-lock.json + git commit -m "update package-lock.json" + git push origin HEAD:${GITHUB_REF} + + - name: get package_version + run: | + package_version="$(npx -c 'echo $npm_package_version')" + echo "package_version=${package_version}" \ + | grep -E 'package_version=[0-9]+\.[0-9]+\.[0-9]+$' >> "${GITHUB_ENV}" + - name: update coi-serviceworker.js + run: | + cp coi-serviceworker.js js-orig + sed -i -E "1s/ v[0-9]+\.[0-9]+\.[0-9]+ / v${package_version} /" coi-serviceworker.js + - name: push coi-serviceworker.js + if: ${{ hashFiles('coi-serviceworker.js') != hashFiles('js-orig') }} + run: | + git add coi-serviceworker.js + git commit -m "sync version numbers" + git push origin HEAD:${GITHUB_REF} + + - name: minify + run: | + mv coi-serviceworker.min.js min-orig + npm run minify + - name: push coi-serviceworker.min.js + if: ${{ hashFiles('coi-serviceworker.min.js') != hashFiles('min-orig') }} + run: | + git add coi-serviceworker.min.js + git commit -m "minify" + git push origin HEAD:${GITHUB_REF} + + - name: git diff + run: git diff --exit-code