From f91cfb36e6eb33bcdaa1f35dc5f77a58bbb98d9d Mon Sep 17 00:00:00 2001 From: Evgenii Stratonikov Date: Wed, 28 Jun 2023 11:09:19 +0300 Subject: [PATCH] [#478] .forgejo: Add build/test workflows Signed-off-by: Evgenii Stratonikov --- .forgejo/workflows/build.yml | 38 +++++++++++++++++++++++++ .forgejo/workflows/tests.yml | 54 ++++++++++++++++++++++++++++++++++++ 2 files changed, 92 insertions(+) create mode 100644 .forgejo/workflows/build.yml create mode 100644 .forgejo/workflows/tests.yml diff --git a/.forgejo/workflows/build.yml b/.forgejo/workflows/build.yml new file mode 100644 index 00000000..5e4a97b9 --- /dev/null +++ b/.forgejo/workflows/build.yml @@ -0,0 +1,38 @@ +name: Build + +on: [pull_request] + +jobs: + build: + name: Build Components + runs-on: ubuntu-latest + strategy: + matrix: + go_versions: [ '1.19', '1.20' ] + + steps: + - uses: actions/checkout@v3 + with: + # Allows to fetch all history for all branches and tags. + # Need this for proper versioning. + fetch-depth: 0 + + - name: Set up Go + uses: actions/setup-go@v3 + with: + go-version: '${{ matrix.go_versions }}' + + - name: Build CLI + run: make bin/frostfs-cli + + - name: Build NODE + run: make bin/frostfs-node + + - name: Build IR + run: make bin/frostfs-ir + + - name: Build ADM + run: make bin/frostfs-adm + + - name: Build LENS + run: make bin/frostfs-lens diff --git a/.forgejo/workflows/tests.yml b/.forgejo/workflows/tests.yml new file mode 100644 index 00000000..2d44d34f --- /dev/null +++ b/.forgejo/workflows/tests.yml @@ -0,0 +1,54 @@ +name: Tests and linters +on: [pull_request] + +jobs: + lint: + name: Lint + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Set up Go + uses: actions/setup-go@v3 + with: + go-version: '1.20' + cache: true + + - name: golangci-lint + uses: https://github.com/golangci/golangci-lint-action@v3 + with: + version: latest + + tests: + name: Tests + runs-on: ubuntu-latest + strategy: + matrix: + go_versions: [ '1.19', '1.20' ] + fail-fast: false + steps: + - uses: actions/checkout@v3 + + - name: Set up Go + uses: actions/setup-go@v3 + with: + go-version: '${{ matrix.go_versions }}' + cache: true + + - name: Run tests + run: make test + + tests-race: + name: Tests with -race + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Set up Go + uses: actions/setup-go@v3 + with: + go-version: '1.20' + cache: true + + - name: Run tests + run: go test ./... -count=1 -race