diff --git a/.github/workflows/release.yml b/.github/release.yml similarity index 100% rename from .github/workflows/release.yml rename to .github/release.yml diff --git a/.github/workflows/gen-binaries.yml b/.github/workflows/gen-binaries.yml deleted file mode 100644 index 8f2fdbd1..00000000 --- a/.github/workflows/gen-binaries.yml +++ /dev/null @@ -1,61 +0,0 @@ -name: Build and upload release binaries - -on: - release: - types: [published] - -jobs: - build-linux: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - name: Setup Rust - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - - name: Install Go - run: | - if [ $(uname -m) = "aarch64" ]; then - wget https://golang.org/dl/go1.19.5.linux-arm64.tar.gz && - sudo tar -C /usr/local -xzf go1.19.5.linux-arm64.tar.gz - else - wget https://golang.org/dl/go1.19.5.linux-amd64.tar.gz && - sudo tar -C /usr/local -xzf go1.19.5.linux-amd64.tar.gz - fi - export PATH=$PATH:/usr/local/go/bin - - name: Build release binary - run: | - cargo build --release - - name: Upload Ubuntu binary - uses: actions/upload-release-asset@v1.0.1 - env: - GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./target/release/indexer-service-rs - asset_name: indexer-service-rs-${{ github.event.release.tag_name }}-ubuntu - asset_content_type: binary/octet-stream - build-macos: - runs-on: macos-latest - steps: - - uses: actions/checkout@v3 - - name: Setup Rust - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - - uses: actions/setup-go@v4 - with: - go-version: "1.19.5" - - name: Build release binary - run: | - cargo build --release - - name: Upload MacOS binary - uses: actions/upload-release-asset@v1.0.1 - env: - GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./target/release/indexer-service-rs - asset_name: indexer-service-rs-${{ github.event.release.tag_name }}-macos - asset_content_type: binary/octet-stream diff --git a/.github/workflows/license_headers_check.yml b/.github/workflows/license_headers_check.yml index 26fe7e96..502f4f1e 100644 --- a/.github/workflows/license_headers_check.yml +++ b/.github/workflows/license_headers_check.yml @@ -25,6 +25,8 @@ jobs: -l "apache" \ -s=only \ -ignore '.github/workflows/*.yml' \ + -ignore '.github/*.yml' \ -ignore '.github/workflows/*.yaml' \ + -ignore '.github/*.yaml' \ -ignore 'migrations/*.sql' \ - . \ No newline at end of file + . diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index b3645c6f..10883592 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -18,8 +18,8 @@ jobs: rustup component add rustfmt cargo fmt --all -- --check - clippy: - name: cargo clippy + sqlx: + name: prepared query metadata is up-to-date runs-on: ubuntu-latest services: postgres: @@ -36,7 +36,7 @@ jobs: container: image: rust:1.74-bookworm env: - DATABASE_URL: postgres://postgres@postgres:5432 + DATABASE_URL: postgres://postgres@postgres:5432 steps: - uses: actions/checkout@v3 - uses: actions/cache@v3 @@ -47,11 +47,33 @@ jobs: ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ - key: ${{ runner.os }}-cargo-clippy-${{ hashFiles('**/Cargo.lock') }} + key: ${{ runner.os }}-sqlx-prepare-${{ hashFiles('**/Cargo.lock') }} - name: Install sqlx run: cargo install sqlx-cli --no-default-features --features postgres - name: Run the test sqlx migrations run: cargo sqlx migrate run + - name: Check that the sqlx prepared query metadata is up-to-date + run: cargo sqlx prepare --workspace --check -- --all-targets --all-features + + clippy: + name: cargo clippy + runs-on: ubuntu-latest + container: + image: rust:1.74-bookworm + env: + DATABASE_URL: postgres://postgres@postgres:5432 + SQLX_OFFLINE: true + steps: + - uses: actions/checkout@v3 + - uses: actions/cache@v3 + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + target/ + key: ${{ runner.os }}-cargo-clippy-${{ hashFiles('**/Cargo.lock') }} - run: | rustup component add clippy # Temporarily allowing dead-code, while denying all other warnings