--- name: action on: [push, workflow_dispatch] env: GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} jobs: version: name: Version with commit unique id runs-on: ubuntu-latest if: github.ref == 'refs/heads/main' steps: - uses: actions/checkout@v3 - name: Version it! run: | # We expect a string such as const setupBeamVersion = 'undefined' in the code SHA=$(git rev-parse --short HEAD) sed -i'.bak' \ -e "s/const setupBeamVersion = '.*'/const setupBeamVersion = '${SHA}'/g" \ dist/index.js # it always starts by being 'undefined' NEWVER=$(grep -oE "const setupBeamVersion = '.*'" dist/index.js | cut -d\' -f2) if [ "$NEWVER" == "undefined" ]; then exit 1 else echo "Continuing... new version is ${NEWVER}" fi git config user.name "GitHub Actions" git config user.email "actions@user.noreply.github.com" git add dist/index.js git commit -m "Update setup-beam version output to ${SHA}" git push origin main check_integrity: name: Expected local npm actions runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: '16' - run: npm run build-dist - name: Check if build left artifacts run: git diff --exit-code --ignore-space-at-eol unit_tests_ubuntu: name: Unit tests (Ubuntu) runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: '16' - run: npm ci - run: npm test - name: .tool-versions test id: setup-beam uses: ./ with: version-file: test/.tool-versions version-type: strict unit_tests_windows: name: Unit tests (Windows) runs-on: windows-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: '16' - run: npm install --production - run: npm test