add variables on job merge #1284
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 | |
on: [push, pull_request] | |
env: | |
go-version: '1.17.5' | |
postgis-version: '3.1' | |
redis-version: '3.2.4' | |
jobs: | |
test: | |
name: Test | |
strategy: | |
matrix: | |
pg-version: ['12', '13'] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v1 | |
- name: Install Redis | |
uses: zhulik/[email protected] | |
with: | |
redis version: ${{ env.redis-version }} | |
- name: Install PostgreSQL | |
uses: nyaruka/[email protected] | |
with: | |
postgresql version: ${{ matrix.pg-version }} | |
postgis version: ${{ env.postgis-version }} | |
postgresql password: temba | |
postgresql arguments: postgres -N 300 | |
- name: Install Linux packages | |
run: sudo apt install -y --no-install-recommends postgresql-client | |
- name: Initialize database | |
# we create our test database with a different user so that we can drop everything owned by this user between tests | |
run: | | |
export PGPASSWORD=temba | |
psql -h localhost -U postgres --no-password -c "CREATE USER mailroom_test PASSWORD 'temba';" | |
psql -h localhost -U postgres --no-password -c "ALTER ROLE mailroom_test WITH SUPERUSER;" | |
psql -h localhost -U postgres --no-password -c "CREATE DATABASE mailroom_test;" | |
- name: Install Go | |
uses: actions/setup-go@v1 | |
with: | |
go-version: ${{ env.go-version }} | |
- name: Run tests | |
run: | | |
export PGPASSWORD=temba | |
go test -p=1 -coverprofile=coverage.text -covermode=atomic ./... | |
- name: Upload coverage | |
if: success() | |
uses: codecov/codecov-action@v1 | |
with: | |
fail_ci_if_error: false | |
release: | |
name: Release | |
needs: [test] | |
if: startsWith(github.ref, 'refs/tags/') | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v1 | |
- name: Fetch GoFlow docs | |
# for backward compatibility, English docs are copied to root of docs directory | |
run: | | |
GOFLOW_VERSION=$(grep weni-ai/goflow go.mod | cut -d" " -f5) | |
curl -L https://github.com/weni-ai/goflow/releases/download/${GOFLOW_VERSION}/docs.tar.gz | tar zxv | |
cp ./docs/en-us/*.* docs/ | |
- name: Install Go | |
uses: actions/setup-go@v1 | |
with: | |
go-version: ${{ env.go-version }} | |
- name: Publish release | |
uses: goreleaser/goreleaser-action@v1 | |
if: ${{ !contains(github.ref, '-') }} | |
with: | |
version: v0.147.2 | |
args: release --rm-dist | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Publish non-master release | |
uses: goreleaser/goreleaser-action@v1 | |
if: contains(github.ref, '-') | |
with: | |
version: v0.147.2 | |
args: release --rm-dist --skip-validate | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |