diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a80a66f9c..c5379b458 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,6 +24,15 @@ jobs: - name: Cache uses: Swatinem/rust-cache@v1 + - name: Migrate database + env: + DATABASE_URL: sqlite://./data/crackedmusic.db + run: | + cargo install sqlx-cli --no-default-features --features postgres,sqlite + sqlx database create + sqlx migrate --source migrations/ run + cargo sqlx prepare -- --tests + - name: Build Binary run: cargo build --locked diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 76a59eef5..515d3df30 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -23,6 +23,15 @@ jobs: steps: - name: Repository Checkout uses: actions/checkout@v3 + + - + name: Migrate database + run: | + cargo install sqlx-cli --no-default-features --features postgres,sqlite,runtime-tokio,tls-rustls,macros,sqlite,postgres,chrono + sqlx database create + sqlx migrate --source migrations/ run + cargo sqlx prepare -- --tests + - name: Build Docker Image run: docker build . -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.sha }} @@ -49,6 +58,18 @@ jobs: uses: docker/metadata-action@v3 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.sha }} + + - + name: Migrate database + env: + DATABASE_URL: sqlite://./data/crackedmusic.db + run: | + cargo install sqlx-cli --no-default-features --features sqlite,postgres + sqlx database create + sqlx migrate --source migrations/ run + cargo sqlx prepare -- --tests + + - name: Build & Push Docker Image uses: docker/build-push-action@v4 diff --git a/.github/workflows/dockerhub.yml b/.github/workflows/dockerhub.yml index 4dad53374..05eca4522 100644 --- a/.github/workflows/dockerhub.yml +++ b/.github/workflows/dockerhub.yml @@ -13,9 +13,6 @@ on: push: tags: ['v*.*.*'] branches: [master] - pull_request: - branches: [master] - workflow_call: env: @@ -29,6 +26,15 @@ jobs: - name: Set up QEMU uses: docker/setup-qemu-action@v2 + - + name: Migrate database + env: + DATABASE_URL: sqlite://./data/crackedmusic.db + run: | + cargo install sqlx-cli --no-default-features --features postgres,sqlite + sqlx database create + sqlx migrate --source migrations/ run + cargo sqlx prepare -- --tests - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 @@ -43,14 +49,4 @@ jobs: uses: docker/build-push-action@v4 with: push: ${{ github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/') }} - tags: ${{ env.IMAGE_NAME }}:${{ github.sha }} - build: - if: github.event_name == 'push' && github.ref == 'refs/heads/master' - runs-on: ubuntu-latest - steps: - - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 \ No newline at end of file + tags: ${{ env.IMAGE_NAME }}:${{ github.sha }} \ No newline at end of file diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index cc472a85c..3a382f95d 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -23,6 +23,15 @@ jobs: - name: Cache uses: Swatinem/rust-cache@v1 + + - name: Migrate database + env: + DATABASE_URL: sqlite://./data/crackedmusic.db + run: | + cargo install sqlx-cli --no-default-features --features postgres,sqlite + sqlx database create + sqlx migrate --source migrations/ run + cargo sqlx prepare -- --tests - name: Run clippy uses: actions-rs/clippy-check@v1