Explorer v2 Stats API PoC #243
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
env: | |
go-version: '1.22.3' | |
# Trigger the workflow on all pull requests, and on push to specific branches | |
on: | |
# run for all pull requests and pushes to certain branches | |
pull_request: | |
jobs: | |
## stage 0: check which files were changed | |
filter-changes: | |
runs-on: ubuntu-latest | |
outputs: | |
nondocchanges: ${{ steps.filter.outputs.nondoc }} | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: dorny/paths-filter@v2 | |
id: filter | |
with: | |
# this pattern matches using picomatch syntax (used by this third party Action), which is slightly | |
# different than GitHub syntax: it matches any file in any path ending in '.md'. this checks if | |
# any non-markdown files were changed. | |
filters: | | |
nondoc: | |
- '!**/*.md' | |
golangci: | |
name: lint | |
runs-on: ubuntu-latest | |
needs: filter-changes | |
if: ${{ needs.filter-changes.outputs.nondocchanges == 'true' }} | |
# should not take more than 4-6 mins | |
timeout-minutes: 10 | |
steps: | |
- uses: actions/setup-go@v3 | |
with: | |
go-version: ${{ env.go-version }} | |
- uses: actions/checkout@v3 | |
- name: golangci-lint | |
uses: golangci/golangci-lint-action@v3 | |
with: | |
# Optional: version of golangci-lint to use in form of v1.2 or v1.2.3 or `latest` to use the latest version | |
version: v1.57.1 | |
only-new-issues: true | |
args: --timeout=3m | |
unittests_api: | |
runs-on: ubuntu-latest | |
needs: filter-changes | |
if: ${{ needs.filter-changes.outputs.nondocchanges == 'true' }} | |
timeout-minutes: 20 | |
steps: | |
- name: checkout | |
uses: actions/checkout@v2 | |
- name: set up go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: ${{ env.go-version }} | |
- name: start db | |
run: make ci_up | |
- name: unit test_api | |
run: make test_api | |
unittests_collector: | |
runs-on: ubuntu-latest | |
needs: filter-changes | |
if: ${{ needs.filter-changes.outputs.nondocchanges == 'true' }} | |
timeout-minutes: 20 | |
steps: | |
- name: checkout | |
uses: actions/checkout@v2 | |
- name: set up go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: ${{ env.go-version }} | |
- name: start db | |
run: make ci_up | |
- name: unit test_collector | |
run: make test_collector | |
unittests_pkg: | |
runs-on: ubuntu-latest | |
needs: filter-changes | |
if: ${{ needs.filter-changes.outputs.nondocchanges == 'true' }} | |
timeout-minutes: 20 | |
steps: | |
- name: checkout | |
uses: actions/checkout@v2 | |
- name: set up go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: ${{ env.go-version }} | |
- name: start db | |
run: make ci_up | |
- name: unit test_pkg | |
run: make test_pkg | |
docker-push: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Docker meta custom api | |
id: meta_customapi | |
uses: docker/metadata-action@v4 | |
with: | |
images: spacemeshos/explorer-custom-api-dev | |
- name: Login to DockerHub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKER_USERNAME }} | |
password: ${{ secrets.DOCKER_PASSWORD }} | |
- uses: docker/build-push-action@v2 | |
with: | |
context: . | |
repository: spacemeshos/explorer-custom-api-dev | |
file: ./Dockerfile.api | |
push: true | |
tags: ${{ steps.meta_customapi.outputs.tags }} |