chore: drop node 18, add node 22 and 24 to CI #89
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Node CI | |
| # Push tests pushes; PR tests merges | |
| on: [ push, pull_request ] | |
| defaults: | |
| run: | |
| shell: bash | |
| jobs: | |
| # Test the build | |
| test: | |
| # Setup | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| node-version: [ 20.x, 22.x, 24.x ] | |
| os: [ windows-latest, ubuntu-latest, macOS-latest ] | |
| # Go | |
| steps: | |
| - name: Check out repo | |
| uses: actions/checkout@v4 | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| registry-url: https://registry.npmjs.org/ | |
| - name: Env | |
| run: | | |
| echo "Event name: ${{ github.event_name }}" | |
| echo "Git ref: ${{ github.ref }}" | |
| echo "GH actor: ${{ github.actor }}" | |
| echo "SHA: ${{ github.sha }}" | |
| VER=`node --version`; echo "Node ver: $VER" | |
| VER=`npm --version`; echo "npm ver: $VER" | |
| - name: Install Globals | |
| run: npm install -g @enhance/arc-plugin-enhance@latest | |
| - name: Install | |
| run: npm install | |
| - name: Test | |
| run: npm test | |
| env: | |
| CI: true | |
| # ----- Only git tag testing + release deployment beyond this point ----- # | |
| # Publish the package to npm | |
| publish: | |
| # Setup | |
| needs: test | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| runs-on: ubuntu-latest | |
| # Go | |
| steps: | |
| - name: Check out repo | |
| uses: actions/checkout@v3 | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 24 | |
| registry-url: https://registry.npmjs.org/ | |
| # Publish to npm | |
| - name: Publish @RC to npm | |
| if: contains(github.ref, 'RC') | |
| run: npm publish --tag RC --access public | |
| env: | |
| NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |
| - name: Publish @latest to npm | |
| if: contains(github.ref, 'RC') == false #'!contains()'' doesn't work lol | |
| run: npm publish --access public | |
| env: | |
| NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} |