Merge pull request #6 from Multidialogo/develop #12
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: Build and Test | |
on: | |
push: | |
branches: | |
- main # Run the workflow on pushes to the 'main' branch | |
pull_request: | |
branches: | |
- main # Optional: Run checks on pull requests targeting 'main' | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
# Step 1: Check out the code | |
- name: Check out the repository | |
uses: actions/checkout@v3 | |
# Step 2: Set up Go environment | |
- name: Set up Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: 1.23 | |
# Step 3: Cache Go dependencies | |
- name: Cache Go modules | |
uses: actions/cache@v3 | |
with: | |
path: ~/go/pkg/mod | |
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go- | |
# Step 4: Run tests | |
- name: Copy .env.test to the correct location | |
run: cp .env.test /home/runner/work/mailculator-server/mailculator-server/.env | |
- name: Run tests | |
run: | | |
go mod tidy | |
go test ./... | |
# Step 5: Build the application | |
- name: Build the application | |
run: | | |
mkdir -p build | |
go build -o build/mailculator-server . | |
# Step 6: Archive the build (optional) | |
- name: Upload Build Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: mailculator-server | |
path: build/mailculator-server |