Skip to content

feat: Node Install, Start, Stop, Upgrade ENG-572 #63

feat: Node Install, Start, Stop, Upgrade ENG-572

feat: Node Install, Start, Stop, Upgrade ENG-572 #63

Workflow file for this run

name: Code Tests
on:
pull_request:
types: [opened, reopened, synchronize]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: 1.22
- name: setup .algorun.yaml
run: |
touch .algorun.yaml
echo 'server: http://localhost:8080' >> .algorun.yaml
echo 'token: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' >> .algorun.yaml
- name: Start Docker Compose
run: docker compose up -d
- name: Wait for the server to start
run: npx wait-on tcp:8080
- name: Install dependencies
run: go get .
- name: Check formatting
run: |
fmt_files=$(gofmt -l .)
if [ -n "$fmt_files" ]; then
echo "Go code is not formatted. Please run 'go fmt'."
gofmt -d .
exit 1
fi
- name: Tidy go.mod and go.sum
run: |
go mod tidy
git diff --exit-code go.mod go.sum
if [ $? -ne 0 ]; then
echo "go.mod or go.sum is not tidy. Please run 'go mod tidy'."
exit 1
fi
- name: Run go vet
run: go vet ./...
- name: Build
run: go build -o bin/algorun *.go
- name: Unit Tests
run: make unit
- name: Kill docker
run: docker compose down
- name: Start Integration
run: docker compose -f docker-compose.integration.yaml up -d
- name: Wait for mount
run: npx wait-on ./coverage/int/fedora/40 ./coverage/int/ubuntu/24.04/
- name: Integration tests
run: make integration
- name: Combine coverage
run: make combine-coverage
- name: Upload results to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}