Gitlab@Informatics

Skip to content
Snippets Groups Projects
Select Git revision
  • 0497f4dbea6b3003e337c5911de26f1fbd7d489d
  • main default protected
  • revert-a98119d8
3 results

ci.yaml

Blame
  • 65160381's avatar
    65160381 authored
    0fb1de11
    History
    ci.yaml 1.79 KiB
    name: ci
    
    on:
      push:
        branches:
          - master
      pull_request:
        branches:
          - master
    
    jobs:
      build:
        strategy:
          matrix:
            os: [ubuntu-20.04, macos-11.0, windows-2019]
            nodeVersion: [14, 16, 18, 20]
        runs-on: ${{ matrix.os }}
        steps:
          - uses: actions/checkout@v3
          - name: Use Node.js ${{ matrix.nodeVersion }}
            uses: actions/setup-node@v3
            with:
              node-version: ${{ matrix.nodeVersion }}
          - name: Test
            run: npm test
          - name: Package
            if: startsWith(github.ref, 'refs/tags/') || startsWith(github.ref, 'refs/heads/master')
            run: npx node-pre-gyp package
          - name: Upload
            uses: actions/upload-artifact@v3
            if: matrix.nodeVersion == '14' && (startsWith(github.ref, 'refs/tags/') || startsWith(github.ref, 'refs/heads/master'))
            with:
              name: bcrypt-lib-${{ matrix.os }}-${{ matrix.nodeVersion }}
              path: build/stage/**/bcrypt_lib*.tar.gz
    
      build-alpine:
        runs-on: ubuntu-latest
        strategy:
          matrix:
            nodeVersion: [14, 16, 18, 20]
        container:
          image: node:${{ matrix.nodeVersion }}-alpine
        steps:
          - uses: actions/checkout@v3
          - name: Install dependencies
            run: |
              apk add make g++ python3
          - name: Test
            run: |
              npm test --unsafe-perm
          - name: Package
            if: startsWith(github.ref, 'refs/tags/') || startsWith(github.ref, 'refs/heads/master')
            run: npx node-pre-gyp package --unsafe-perm
          - name: Upload
            if: matrix.nodeVersion == '14' && (startsWith(github.ref, 'refs/tags/') || startsWith(github.ref, 'refs/heads/master'))
            uses: actions/upload-artifact@v3
            with:
              name: bcrypt-lib-alpine-${{ matrix.nodeVersion }}
              path: build/stage/**/bcrypt_lib*.tar.gz