Update to use minio/minio docker image #566
This file contains hidden or 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 | |
on: [push, pull_request] | |
env: | |
go-version: "1.24.x" | |
jobs: | |
test: | |
name: Test | |
runs-on: ubuntu-latest | |
services: | |
postgres: | |
image: postgres:15-alpine | |
env: | |
POSTGRES_DB: archiver_test | |
POSTGRES_USER: archiver_test | |
POSTGRES_PASSWORD: temba | |
ports: | |
- 5432:5432 | |
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Install Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ env.go-version }} | |
- name: Run MinIO docker container | |
run: | | |
docker run -d --rm \ | |
-p 9000:9000 \ | |
-p 9001:9001 \ | |
--env MINIO_ROOT_USER=root \ | |
--env MINIO_ROOT_PASSWORD=tembatemba \ | |
--health-cmd "curl -f http://127.0.0.1:9000/minio/health/live" \ | |
--health-interval 10s \ | |
--health-timeout 5s \ | |
--health-retries 5 \ | |
minio/minio:RELEASE.2025-07-23T15-54-02Z minio server /data --console-address ":9001" | |
- name: Install MinIO client | |
run: | | |
# Download MinIO client and its checksum | |
sudo curl -O https://dl.min.io/client/mc/release/linux-amd64/mc.RELEASE.2025-07-21T05-28-08Z | |
sudo curl -O https://dl.min.io/client/mc/release/linux-amd64/mc.RELEASE.2025-07-21T05-28-08Z.sha256sum | |
# Verify checksum | |
sha256sum -c mc.RELEASE.2025-07-21T05-28-08Z.sha256sum | |
sudo chmod +x mc.RELEASE.2025-07-21T05-28-08Z | |
sudo mv mc.RELEASE.2025-07-21T05-28-08Z /usr/local/bin/mc | |
mc alias set local http://127.0.0.1:9000 root tembatemba | |
mc ls local/temba-archives || mc mb local/temba-archives | |
- name: Run tests | |
run: go test -p=1 -coverprofile=coverage.text -covermode=atomic ./... | |
- name: Upload coverage | |
if: success() | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
fail_ci_if_error: true | |
release: | |
name: Release | |
needs: [test] | |
if: startsWith(github.ref, 'refs/tags/') | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Install Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ env.go-version }} | |
- name: Publish release | |
uses: goreleaser/goreleaser-action@v6 | |
with: | |
args: release --clean | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
fail_ci_if_error: true |