WIP: Store migrates in db #1145
Workflow file for this run
  
    
      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: | |
| jobs: | |
| lint: | |
| if: false # disable linting for infobloxopen/migrate | |
| name: lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.25.x" | |
| - name: golangci-lint | |
| uses: golangci/golangci-lint-action@v6 | |
| with: | |
| version: v1.64.8 | |
| test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| go: ["1.24.x", "1.25.x"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version: ${{ matrix.go }} | |
| - name: Run test | |
| run: make test COVERAGE_DIR=/tmp/coverage DATABASE="postgres mysql clickhouse mongodb pgx pgx5 rqlite sqlite sqlite3" | |
| - name: Send goveralls coverage | |
| uses: shogo82148/actions-goveralls@v1 | |
| with: | |
| path-to-profile: /tmp/coverage/combined.txt | |
| flag-name: Go-${{ matrix.go }} | |
| parallel: true | |
| check-coverage: | |
| name: Check coverage | |
| needs: [test] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: shogo82148/actions-goveralls@v1 | |
| with: | |
| parallel-finished: true | |
| goreleaser: | |
| name: Release a new version | |
| needs: [test] | |
| runs-on: ubuntu-latest | |
| environment: GoReleaser | |
| # This job only runs when | |
| # 1. When the previous `test` job has completed successfully | |
| # 2. When the repository is not a fork, i.e. it will only run on the official golang-migrate/migrate | |
| # 3. When the workflow is triggered by a tag with `v` prefix | |
| if: ${{ success() && github.repository == 'golang-migrate/migrate' && startsWith(github.ref, 'refs/tags/v') }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: 2.7 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.24.x" | |
| - uses: docker/setup-qemu-action@v3 | |
| - uses: docker/setup-buildx-action@v3 | |
| - uses: docker/login-action@v3 | |
| with: | |
| username: golangmigrate | |
| password: ${{ secrets.DOCKERHUB_TOKEN }} | |
| - run: echo "SOURCE=$(make echo-source)" >> $GITHUB_ENV | |
| - run: echo "DATABASE=$(make echo-database)" >> $GITHUB_ENV | |
| - uses: goreleaser/goreleaser-action@v5 | |
| with: | |
| version: latest | |
| args: release --clean | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - run: gem install package_cloud | |
| - run: package_cloud push golang-migrate/migrate/ubuntu/bionic dist/migrate.linux-amd64.deb | |
| env: | |
| PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }} | |
| - run: package_cloud push golang-migrate/migrate/ubuntu/focal dist/migrate.linux-amd64.deb | |
| env: | |
| PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }} | |
| - run: package_cloud push golang-migrate/migrate/ubuntu/jammy dist/migrate.linux-amd64.deb | |
| env: | |
| PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }} | |
| - run: package_cloud push golang-migrate/migrate/ubuntu/noble dist/migrate.linux-amd64.deb | |
| env: | |
| PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }} | |
| - run: package_cloud push golang-migrate/migrate/debian/buster dist/migrate.linux-amd64.deb | |
| env: | |
| PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }} | |
| - run: package_cloud push golang-migrate/migrate/debian/bullseye dist/migrate.linux-amd64.deb | |
| env: | |
| PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }} | |
| - run: package_cloud push golang-migrate/migrate/debian/bookworm dist/migrate.linux-amd64.deb | |
| env: | |
| PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }} |