diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 80a6cca..1b941bf 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -7,10 +7,10 @@ jobs: matrix: os: - ubuntu-20.04 - - macos-10.15 node-version: - - 10.x - 12.x + - 14.x + - 16.x steps: - uses: actions/checkout@v2 - name: 'Install node.js ${{ matrix.node-version }}' @@ -20,22 +20,36 @@ jobs: - name: Run unit tests run: | npm install - npm run travis + npm run ci npm-publish: needs: unit-tests if: github.ref == 'refs/heads/master' && github.event_name == 'push' - runs-on: ubuntu-16.04 + runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 - - name: Install node.js 12.x + - name: Install Node.js uses: actions/setup-node@v2-beta with: - node-version: 12.x + node-version: 16.x - name: Run semantic-release env: GH_TOKEN: ${{ secrets.GH_SEMANTIC_RELEASE_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} run: > - curl - "https://raw.githubusercontent.com/pelias/ci-tools/master/semantic-release.sh" - | bash - + if [[ -n "$GH_TOKEN" && -n "$NPM_TOKEN" ]]; then + curl "https://raw.githubusercontent.com/pelias/ci-tools/master/semantic-release.sh" | bash - + fi + build-docker-images: + # run this job if the unit tests passed and the npm-publish job was a success or was skipped + # note: github actions won't run a job if you don't call one of the status check functions, so `always()` is called since it evalutes to `true` + if: ${{ always() && needs.unit-tests.result == 'success' && (needs.npm-publish.result == 'success' || needs.npm-publish.result == 'skipped') }} + needs: [unit-tests, npm-publish] + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v2 + - name: Build Docker images + env: + DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} + DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} + run: | + curl "https://raw.githubusercontent.com/pelias/ci-tools/master/build-docker-images.sh" | bash - diff --git a/package.json b/package.json index 4a64566..abf0b79 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "scripts": { "test": "node test/test | tap-dot", "lint": "jshint .", - "travis": "npm test", + "ci": "npm test", "validate": "npm ls" }, "author": "Pelias",