diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..593674a --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,30 @@ +name: CI + +on: + push: + pull_request: + +jobs: + test: + name: Build and test + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, Windows] + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install Rust + uses: dtolnay/rust-toolchain@stable + + - name: Cache cargo registry and git index + uses: actions/cache@v4 + with: + path: | + ~/.cargo/registry + ~/.cargo/git + key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} + + - name: Build and test + run: cargo test --workspace --verbose diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2c477e3..593674a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,13 +1,16 @@ -name: Release crate +name: CI on: - release: - types: [published] + push: + pull_request: jobs: - release: - name: Publish to crates.io and create GitHub Release - runs-on: ubuntu-latest + test: + name: Build and test + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, Windows] steps: - name: Checkout repository uses: actions/checkout@v4 @@ -25,52 +28,3 @@ jobs: - name: Build and test run: cargo test --workspace --verbose - - - name: Install cargo-edit and set crate version - id: set_version - run: | - cargo install cargo-edit --locked --force - TAG="${{ github.event.release.tag_name }}" - VERSION="${TAG#v}" - cargo set-version "$VERSION" --workspace - echo "version=$VERSION" >> $GITHUB_OUTPUT - - - name: Configure Cargo registries (crates.io default + add Gitea) - shell: bash - env: - TOKEN: ${{ secrets.CARGO_GITEA_TOKEN }} - GITEA_BASE_URL: https://git.heiserer.de - REGISTRY_OWNER: ${{ github.repository_owner }} - run: | - mkdir -p ~/.cargo - # crates.io stays default - cat > ~/.cargo/config.toml <<'EOF' - [registry] - default = "crates-io" - EOF - - # Add Gitea as extra registry (sparse index recommended) - { - echo "[registries.gitea]" - echo "index = \"sparse+${GITEA_BASE_URL}/api/packages/${REGISTRY_OWNER}/cargo/\"" - } >> ~/.cargo/config.toml - - # Auth for Gitea registry - umask 077 - cat > ~/.cargo/credentials.toml <