on: [push] jobs: test: runs-on: ubuntu-latest services: vault: image: vault:1.2.3 ports: - 8200/tcp env: VAULT_DEV_ROOT_TOKEN_ID: testtoken options: --cap-add=IPC_LOCK steps: - uses: actions/checkout@v1 - name: Use Node.js 10.x uses: actions/setup-node@v1 with: node-version: 10.x - name: npm install run: npm ci - name: npm build run: npm run build - name: npm run test run: npm run test env: CI: true - name: npm run test:integration run: npm run test:integration env: VAULT_HOST: localhost VAULT_PORT: ${{ job.services.vault.ports[8200] }} CI: true test-ent: runs-on: ubuntu-latest services: vault: image: hashicorp/vault-enterprise:1.3.0_ent ports: - 8200/tcp env: VAULT_DEV_ROOT_TOKEN_ID: testtoken options: --cap-add=IPC_LOCK steps: - uses: actions/checkout@v1 - name: Use Node.js 10.x uses: actions/setup-node@v1 with: node-version: 10.x - name: npm install run: npm ci - name: npm build run: npm run build - name: npm run test run: npm run test env: CI: true - name: npm run test:integration-ent run: npm run test:integration-ent env: VAULT_HOST: localhost VAULT_PORT: ${{ job.services.vault.ports[8200] }} CI: true e2e: runs-on: ubuntu-latest services: vault: image: vault:1.2.3 ports: - 8200/tcp env: VAULT_DEV_ROOT_TOKEN_ID: testtoken options: --cap-add=IPC_LOCK steps: - uses: actions/checkout@v1 - name: Use Node.js 10.x uses: actions/setup-node@v1 with: node-version: 10.x - name: npm install run: npm ci - name: npm build run: npm run build - name: setup vault run: node ./e2e/setup.js env: VAULT_HOST: localhost VAULT_PORT: ${{ job.services.vault.ports[8200] }} - name: use vault action uses: ./ with: url: http://localhost:${{ job.services.vault.ports[8200] }} token: testtoken secrets: | test secret ; test secret | NAMED_SECRET ; nested/test otherSecret ; - name: verify run: npm run test:e2e publish: runs-on: ubuntu-latest needs: [test, e2e] steps: - uses: actions/checkout@v1 - name: Use Node.js 10.x uses: actions/setup-node@v1 with: node-version: 10.x - name: npm install run: npm ci - name: release if: success() && endsWith(github.ref, 'master') run: npx semantic-release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}