Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 10 additions & 27 deletions .github/workflows/bitween-api-cicd-gateway.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,11 @@ jobs:
docker-context: '.'
docker-platforms: 'linux/amd64'

# charts/develop is charts/default under its own name (see its Chart.yaml): the reusable
# requires chart-name to match Chart.yaml, and the production chart must stay bitween.
# The production chart, published as bitween-develop: rename-chart sets Chart.yaml's name
# at package time, so develop and production ship from one chart directory and cannot drift.
chart-name: 'bitween-develop'
chart-path: './charts/develop'
chart-path: './charts/default'
rename-chart: true
# ChartMuseum to install it by hand, GHCR for the deploy below.
chart-publish-method: 'both'
chart-repo-url: 'https://charts.sf9.io'
Expand All @@ -59,8 +60,12 @@ jobs:
container-registry: 'docker.io'
image-name: 'simplify9/bitween-develop'

# No nuget-projects: develop publishes no packages. The reusable runs the tests only in
# its NuGet job, so develop-tests below runs them.
# No nuget-projects: develop publishes no packages. The tests still run (build and test,
# no pack); as before, a failure does not hold back the deploy.
run-tests: 'true'
test-projects: |
SW.Bitween.UnitTests/SW.Bitween.UnitTests.csproj
SW.Bitween.IntegrationTests/SW.Bitween.IntegrationTests.csproj

# Deploy to playground via Gateway API
deploy: true
Expand Down Expand Up @@ -123,28 +128,6 @@ jobs:
# (openssl rand -base64 48). Changing it signs out everyone holding an older token.
helm-set-secret-values: 'global.token.key=${{ secrets.TokenKey }},db=${{ secrets.dbConnection }},global.bus.rabbitUrl=${{ secrets.rabbitUrl }},global.cloudFiles.secretAccessKey=${{ secrets.SecretAccessKey }},global.cloudFiles.accessKeyId=${{ secrets.AccessKeyId }},global.cloudFiles.serviceUrl=${{ secrets.ServiceUrl }},global.cloudFiles.bucketName=${{ secrets.BucketName }},environmentVariables.Bitween__RabbitMqManagementUrl=${{ secrets.RabbitMqManagementUrl }},environmentVariables.Bitween__RabbitMqManagementPassword=${{ secrets.RabbitMqManagementPassword }},environmentVariables.Bitween__RabbitMqManagementUsername=${{ secrets.RabbitMqManagementUsername }}'

develop-tests:
# The same build and tests the reusable runs in its NuGet job, which develop skips. As before,
# a failure does not hold back the deploy.
if: ${{ github.ref_name == 'releases/r10.0-develop' }}
runs-on: ${{ vars.S9_RUNNER || vars.S9_HOSTED_RUNNER || 'ubuntu-24.04' }}
timeout-minutes: 30
permissions:
contents: read
steps:
- uses: actions/checkout@v7
with:
persist-credentials: false
- uses: simplify9/.github/.github/actions/dotnet-build@main
with:
projects: '**/*.csproj'
test-projects: |
SW.Bitween.UnitTests/SW.Bitween.UnitTests.csproj
SW.Bitween.IntegrationTests/SW.Bitween.IntegrationTests.csproj
configuration: 'Release'
dotnet-version: '10.0.x'
run-tests: 'true'

publish-release:
# Release: build and publish for clients, never deploy. releases/r10.0 is the
# repository's default branch, so the reusable workflow treats it as a release: a clean
Expand Down
1 change: 0 additions & 1 deletion charts/develop/.helmignore

This file was deleted.

9 changes: 0 additions & 9 deletions charts/develop/Chart.yaml

This file was deleted.

1 change: 0 additions & 1 deletion charts/develop/README.md

This file was deleted.

1 change: 0 additions & 1 deletion charts/develop/templates

This file was deleted.

1 change: 0 additions & 1 deletion charts/develop/values.yaml

This file was deleted.

2 changes: 1 addition & 1 deletion docs/deployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ Run several replicas behind a load balancer for throughput and availability, and

| Pipeline | Trigger | What it does |
|---|---|---|
| `.github/workflows/bitween-api-cicd-gateway.yml` | Push to `releases/r10.0-develop`, or manual on it | Runs unit and integration tests, pushes the `simplify9/bitween-develop` image to Docker Hub, publishes the `bitween-develop` chart (`charts/develop`, the default chart under its own name) to `charts.sf9.io` and GHCR, tags the repository, and deploys the playground environment. Publishes no NuGet packages. |
| `.github/workflows/bitween-api-cicd-gateway.yml` | Push to `releases/r10.0-develop`, or manual on it | Runs unit and integration tests, pushes the `simplify9/bitween-develop` image to Docker Hub, publishes the production chart (`charts/default`) as `bitween-develop` to `charts.sf9.io` and GHCR, tags the repository, and deploys the playground environment. Publishes no NuGet packages. |
| `.github/workflows/bitween-api-cicd-gateway.yml` | Push to `releases/r10.0`, or manual on it | Runs unit and integration tests, pushes the `simplify9/bitween` image to Docker Hub, publishes the `bitween` chart clients install to `charts.sf9.io` and GHCR (`oci://ghcr.io/simplify9/charts/bitween`), pushes `SimplyWorks.Bitween.Sdk` and `SimplyWorks.Bitween.Adapters` to NuGet, and tags the repository. Nothing is deployed. |
| `.github/workflows/cli-release.yml` | Called by the CI/CD workflow, never run by hand or by a tag: after the release from `releases/r10.0`, and after each develop build | Publishes the [bitween CLI](cli.md) at the version that run computed, as self-contained single-file binaries for `linux-x64`, `linux-arm64`, `linux-musl-x64`, `linux-musl-arm64`, `osx-x64`, `osx-arm64` and `win-x64`, with a `SHA256SUMS` file. From the release it is `cli-v<version>`, the latest release; from develop, the pre-release `cli-v<version>-dev.<run>`. `scripts/install-cli.sh` installs the latest release, a pre-release only when named. |
| `.github/workflows/sdk-release.yml` | Called by the CI/CD workflow after the release from `releases/r10.0` | Publishes the adapter contract packages at Bitween's version: `simplyworks-bitween` to PyPI and `@simplyworks/bitween` to npm, each tested first against SW-Serverless's SDK. Uses the `PYPI_API_TOKEN` and `NPM_TOKEN` secrets; a version already published is left alone. |
Expand Down
Loading