diff --git a/.github/workflows/cd-test.yml b/.github/workflows/cd-test.yml new file mode 100644 index 00000000..ecb7295b --- /dev/null +++ b/.github/workflows/cd-test.yml @@ -0,0 +1,15 @@ +name: Continuous delivery - test + +on: + pull_request: + # opened, reopenened, synchronize are the default types for pull_request + # labeled, unlabeled ensure this check is also run if a label is added or removed + types: [opened, reopened, synchronize, labeled, unlabeled] + +jobs: + test-publish: + runs-on: ubuntu-latest + if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-publish-check') }} + steps: + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - run: cargo publish --dry-run --package littlefs2-core diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml new file mode 100644 index 00000000..b2fbaa94 --- /dev/null +++ b/.github/workflows/cd.yml @@ -0,0 +1,20 @@ +name: Continuous delivery - crates.io + +on: + release: + types: [published] + +jobs: + publish-littlefs2-core: + runs-on: ubuntu-latest + if: ${{ startsWith(github.event.release.tag_name, 'core-') }} + environment: crates.io + permissions: + id-token: write + steps: + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - uses: rust-lang/crates-io-auth-action@e919bc7605cde86df457cf5b93c5e103838bd879 # v1.0.1 + id: auth + - run: cargo publish --package littlefs2-core + env: + CARGO_REGISTRY_TOKEN: ${{ steps.auth.outputs.token }}