name: Build and test # TODO: do not trigger action for some document file update # This workflow is triggered on pushes or pull request to the repository. on: push: # file paths to consider in the event. Optional; defaults to all. paths: - 'scripts/**' - 'internal/**' - 'cmd/**' - '.github/workflows/main.yaml' - docker-compose.yml - Makefile - '!**.md' pull_request: # file paths to consider in the event. Optional; defaults to all. paths: - 'scripts/**' - 'internal/**' - 'cmd/**' - '.github/workflows/main.yaml' - docker-compose.yml - Makefile - '!**.md' jobs: ubuntu: name: AMD64 Ubuntu ${{ matrix.ubuntu }} runs-on: ubuntu-latest timeout-minutes: 60 strategy: fail-fast: false matrix: ubuntu: [18.04] env: UBUNTU: ${{ matrix.ubuntu }} steps: - name: Checkout uses: actions/checkout@v2 - name: Check Dockerfile uses: reviewdog/action-hadolint@v1 with: github_token: ${{ secrets.GITHUB_TOKEN }} reporter: github-pr-check # Default is github-pr-check hadolint_ignore: DL3008 - name: Cache Docker Volumes uses: actions/cache@v1 with: path: .docker key: ubuntu${{ matrix.ubuntu }}-${{ hashFiles('internal/core/**') }} restore-keys: ubuntu${{ matrix.ubuntu }}- - name: Start Service shell: bash run: | cd ${GITHUB_WORKSPACE}/deployments/docker && docker-compose up -d - name: Build and UnitTest run: | ./build/builder.sh