name: Build, test, analyze and publish on: push: branches: [ master ] pull_request: branches: [ master ] paths-ignore: - '**/*.md' - '**/*.png' jobs: build: name: Build and test runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v2 - name: Login to GitHub registry run: docker login docker.pkg.github.com -u ${{ github.actor }} -p ${{ secrets.GITHUB_TOKEN }} - name: Build lowlighter/metrics:${{ github.head_ref || 'master' }} run: docker build -t lowlighter/metrics:${{ github.head_ref || 'master' }} . - name: Run tests run: docker run --workdir=/metrics --entrypoint="" lowlighter/metrics:${{ github.head_ref || 'master' }} npm test analyze: name: Analyze code runs-on: ubuntu-latest needs: [ build ] steps: - name: Checkout repository uses: actions/checkout@v2 - name: Setup CodeQL uses: github/codeql-action/init@v1 with: languages: javascript config-file: ./.github/config/codeql.yml - name: Analyze code uses: github/codeql-action/analyze@v1