diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2c624d8f..56123e25 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -17,54 +17,9 @@ jobs: - name: run tests run: go test -v ./... working-directory: ./server - test_migrations: - runs-on: ubuntu-latest - services: - auto_mariadb: - image: bitnami/mariadb:latest - ports: - - 3306:3306 - env: - MARIADB_ROOT_PASSWORD: super_secret_passw0rd - MARIADB_DATABASE: campus_db - manual_mariadb: - image: bitnami/mariadb:latest - ports: - - 3300:3306 - env: - MARIADB_ROOT_PASSWORD: super_secret_passw0rd - MARIADB_DATABASE: campus_db - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v4 - with: - go-version: '1.21' - cache-dependency-path: | - server/go.sum - - name: wait for db - run: sleep 20 - - name: run manual migrations - run: go run main.go - working-directory: ./server - env: - CI_EXIT_AFTER_MIGRATION: "true" - CI_AUTO_MIGRATION: "false" - DB_DSN: root:super_secret_passw0rd@tcp(localhost:3306)/campus_db?charset=utf8mb4&parseTime=True&loc=Local - ENVIRONMENT: dev - - name: run auto migrations - run: go run main.go - working-directory: ./server - env: - CI_EXIT_AFTER_MIGRATION: "true" - CI_AUTO_MIGRATION: "true" - DB_DSN: root:super_secret_passw0rd@tcp(localhost:3300)/campus_db?charset=utf8mb4&parseTime=True&loc=Local - ENVIRONMENT: dev - - uses: ariga/setup-atlas@master - - name: export diff the migrations - run: atlas schema diff --from "maria://root:super_secret_passw0rd@localhost:3306/campus_db" --to "maria://root:super_secret_passw0rd@localhost:3300/campus_db" --format '{{ sql . " " }}' build: runs-on: ubuntu-latest - needs: [test, test_migrations] + needs: [test] steps: - name: Checkout repository uses: actions/checkout@v4 diff --git a/.github/workflows/test_migration.yml b/.github/workflows/test_migration.yml new file mode 100644 index 00000000..b357dbeb --- /dev/null +++ b/.github/workflows/test_migration.yml @@ -0,0 +1,64 @@ +name: CI +on: + pull_request: + branches: [ main ] +jobs: + test_migrations: + runs-on: ubuntu-latest + services: + auto_mariadb: + image: bitnami/mariadb:latest + ports: + - 3306:3306 + env: + MARIADB_ROOT_PASSWORD: super_secret_passw0rd + MARIADB_DATABASE: campus_db + manual_mariadb: + image: bitnami/mariadb:latest + ports: + - 3300:3306 + env: + MARIADB_ROOT_PASSWORD: super_secret_passw0rd + MARIADB_DATABASE: campus_db + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v4 + with: + go-version: '1.21' + cache-dependency-path: | + server/go.sum + - name: wait for db + run: sleep 20 + - name: run manual migrations + run: go run main.go + working-directory: ./server + env: + CI_EXIT_AFTER_MIGRATION: "true" + CI_AUTO_MIGRATION: "false" + DB_DSN: root:super_secret_passw0rd@tcp(localhost:3306)/campus_db?charset=utf8mb4&parseTime=True&loc=Local + ENVIRONMENT: dev + - name: run auto migrations + run: go run main.go + working-directory: ./server + env: + CI_EXIT_AFTER_MIGRATION: "true" + CI_AUTO_MIGRATION: "true" + DB_DSN: root:super_secret_passw0rd@tcp(localhost:3300)/campus_db?charset=utf8mb4&parseTime=True&loc=Local + ENVIRONMENT: dev + - uses: ariga/setup-atlas@master + - name: export diff the migrations + run: atlas schema diff --from "maria://root:super_secret_passw0rd@localhost:3306/campus_db" --to "maria://root:super_secret_passw0rd@localhost:3300/campus_db" --format '{{ sql . " " }}' + - name: Find Comment + uses: peter-evans/find-comment@v2 + id: fc + with: + issue-number: "${{ github.event.number }}" + body-includes: Found the following differences in the sql schema + comment-author: github-actions[bot] + - run: | + curl \ + -X POST \ + ${{ github.event.pull_request.comments_url }} \ + -H "Content-Type: application/json" \ + -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ + --data '{ "body": "Found the following differences in the sql schema:
To get from local migrations to auto migration state one woud need to Block with all the details
" }' \ No newline at end of file