name: Docker Compose Build on: push: branches: - main jobs: lint: runs-on: ubuntu-latest strategy: matrix: node-version: [16.x] steps: - uses: actions/checkout@v2 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} registry-url: 'https://npm.pkg.github.com' - run: yarn # https://github.com/actions/setup-node/blob/main/docs/advanced-usage.md#use-private-packages env: # GITHUB_TOKEN can't access packages from other private repositories. # https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-npm-registry#authenticating-to-github-packages NODE_AUTH_TOKEN: ${{ secrets.PAT_PACKAGES }} - name: Linter check run: yarn lint test: runs-on: ubuntu-latest strategy: matrix: node-version: [16.x] steps: - uses: actions/checkout@v2 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} registry-url: 'https://npm.pkg.github.com' - run: yarn env: NODE_AUTH_TOKEN: ${{ secrets.PAT_PACKAGES }} - name: Run tests env: NODE_AUTH_TOKEN: ${{ secrets.PAT_PACKAGES }} run: | yarn build yarn test:init yarn test build: name: Run docker build runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Get the version id: vars run: | echo ::set-output name=sha::$(echo ${GITHUB_SHA:0:7}) echo ::set-output name=repo::$(echo ${{ github.repository }}) - name: Run docker build run: make docker-build env: NPM_AUTH_TOKEN: ${{ secrets.PAT_PACKAGES }} - name: Tag docker image run: docker tag ${{steps.vars.outputs.repo}} ghcr.io/${{steps.vars.outputs.repo}}:${{steps.vars.outputs.sha}} - name: Docker Login run: echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u cerc-io --password-stdin - name: Docker Push run: docker push ghcr.io/${{steps.vars.outputs.repo}}:${{steps.vars.outputs.sha}}