chore: fix duration comments (minutes => seconds (#130) #68
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release | |
env: | |
REGISTRY_IMAGE: ${{ github.repository_owner }}/${{ github.event.repository.name }} | |
on: | |
push: | |
# Docs on syntax: https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet | |
tags: | |
- "v[0-9]+.[0-9]+.[0-9]+**" | |
# Taken from https://docs.docker.com/build/ci/github-actions/multi-platform/#distribute-build-across-multiple-runners | |
jobs: | |
debian-build-and-merge-docker: | |
uses: ./.github/workflows/_build-and-merge-docker.yml | |
with: | |
distro: debian | |
secrets: inherit | |
alpine-build-and-merge-docker: | |
uses: ./.github/workflows/_build-and-merge-docker.yml | |
with: | |
distro: alpine | |
secrets: inherit | |
# We don't use the Rust client for now | |
# To re-enable later | |
# rust-client-release: | |
# runs-on: ubuntu-latest | |
# needs: javascript-client-release | |
# services: | |
# postgres: | |
# image: postgres:13 | |
# env: | |
# POSTGRES_PASSWORD: postgres | |
# POSTGRES_DB: nittei | |
# ports: | |
# - 5432:5432 | |
# env: | |
# DATABASE_URL: postgresql://postgres:postgres@localhost/nittei | |
# steps: | |
# - name: Checkout | |
# uses: actions/checkout@v2 | |
# - name: Set version env | |
# run: | | |
# # v1.0.0 --> 1.0.0 | |
# VERSION=${GITHUB_REF#refs/*/} | |
# echo "VERSION=${VERSION:1}" >> $GITHUB_ENV | |
# - name: Wait for remote to become up to date | |
# run: | | |
# duration=15 | |
# echo "sleeping $duration seconds ..." | |
# sleep $duration | |
# echo "sleeping $duration seconds ... DONE" | |
# - uses: actions/cache@v2 | |
# with: | |
# path: | | |
# ~/.cargo/bin/ | |
# ~/.cargo/registry/index/ | |
# ~/.cargo/registry/cache/ | |
# ~/.cargo/git/db/ | |
# scheduler/target/ | |
# key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
# - name: Run migrations | |
# run: | | |
# cd scheduler | |
# cargo install sqlx-cli --no-default-features --features postgres || true | |
# (cd crates/infra && sqlx migrate run) | |
# - name: Login to crates.io | |
# env: | |
# CRATE_PUBLISH_TOKEN: ${{secrets.CRATE_PUBLISH_TOKEN}} | |
# run: | | |
# cargo login $CRATE_PUBLISH_TOKEN | |
# - name: Set version numbers | |
# run: | | |
# # What follows is a lot of search and replace magic for Cargo.toml to update | |
# # version number for a crate and its dependenices. It seems like there | |
# # is no good tool that can bump version numbers in a cargo workspace yet. | |
# cd scheduler | |
# cd crates/utils | |
# sed -i "0,/\(version *= *\).*/{s/\(version *= *\).*/\1\"$VERSION\"/}" ./Cargo.toml | |
# cd ../../ | |
# cd crates/domain | |
# sed -i "0,/\(version *= *\).*/{s/\(version *= *\).*/\1\"$VERSION\"/}" ./Cargo.toml | |
# sed -i "s/path = \"..\/utils\", version = \"*.*.*\"/path = \"..\/utils\", version = \"$VERSION\"/" ./Cargo.toml | |
# cd ../../ | |
# cd crates/api_structs | |
# sed -i "0,/\(version *= *\).*/{s/\(version *= *\).*/\1\"$VERSION\"/}" ./Cargo.toml | |
# sed -i "s/path = \"..\/domain\", version = \"*.*.*\"/path = \"..\/domain\", version = \"$VERSION\"/" ./Cargo.toml | |
# echo "api_structs toml" | |
# cat ./Cargo.toml | |
# echo "api_structs toml DONE" | |
# cd ../../ | |
# cd crates/infra | |
# sed -i "0,/\(version *= *\).*/{s/\(version *= *\).*/\1\"$VERSION\"/}" ./Cargo.toml | |
# cd ../../ | |
# cd crates/api | |
# sed -i "0,/\(version *= *\).*/{s/\(version *= *\).*/\1\"$VERSION\"/}" ./Cargo.toml | |
# cd ../../ | |
# cd clients/rust | |
# sed -i "0,/\(version *= *\).*/{s/\(version *= *\).*/\1\"$VERSION\"/}" ./Cargo.toml | |
# sed -i "s/path = \"..\/..\/crates\/domain\", version = \"*.*.*\"/path = \"..\/..\/crates\/domain\", version = \"$VERSION\"/" ./Cargo.toml | |
# sed -i "s/path = \"..\/..\/crates\/api_structs\", version = \"*.*.*\"/path = \"..\/..\/crates\/api_structs\", version = \"$VERSION\"/" ./Cargo.toml | |
# echo "SDK toml" | |
# cat ./Cargo.toml | |
# echo "SDK toml DONE" | |
# cd ../../ | |
# # Root Cargo.toml | |
# sed -i "0,/\(version *= *\).*/{s/\(version *= *\).*/\1\"$VERSION\"/}" ./Cargo.toml | |
# cargo check --all | |
# - name: Publish crates | |
# run: | | |
# cd scheduler | |
# cd crates/utils | |
# cargo publish --allow-dirty | |
# cd ../../ | |
# # Make sure published version is available at crates.io | |
# sleep 30 | |
# cd crates/domain | |
# cargo publish --allow-dirty | |
# cd ../../ | |
# # Make sure published version is available at crates.io | |
# sleep 30 | |
# cd crates/api_structs | |
# cargo publish --allow-dirty | |
# cd ../../ | |
# # Make sure published version is available at crates.io | |
# sleep 30 | |
# cd clients/rust | |
# cargo publish --allow-dirty | |
# cd ../../ | |
# - name: Commit & Push version changes | |
# uses: actions-js/push@master | |
# with: | |
# github_token: ${{ secrets.GITHUB_TOKEN }} | |
# branch: master | |
# message: | | |
# Autopublish: Update cargo workspace deps on release | |
javascript-client-release: | |
runs-on: ubuntu-latest | |
needs: | |
- debian-build-and-merge-docker | |
- alpine-build-and-merge-docker | |
permissions: | |
contents: read | |
packages: write | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set version env | |
run: | | |
# v1.0.0 --> 1.0.0 | |
VERSION=${GITHUB_REF#refs/*/} | |
echo "VERSION=${VERSION:1}" >> $GITHUB_ENV | |
- name: Setup Node.js 20 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
registry-url: "https://npm.pkg.github.com" | |
scope: "@meetsmore" | |
- name: Setup pnpm | |
uses: pnpm/action-setup@v4 | |
- name: Install deps | |
run: | | |
cd clients/javascript | |
pnpm install | |
- name: Set version number | |
run: | | |
cd clients/javascript | |
pnpm version $VERSION | |
- name: Publish package | |
run: | | |
cd clients/javascript | |
pnpm run deploy | |
env: | |
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
helm-chart-release: | |
needs: javascript-client-release | |
permissions: | |
contents: write | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Configure Git | |
run: | | |
git config user.name "$GITHUB_ACTOR" | |
git config user.email "[email protected]" | |
- name: Install Helm | |
uses: azure/setup-helm@v4 | |
env: | |
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" | |
- name: Set version env | |
run: | | |
# v1.0.0 --> 1.0.0 | |
VERSION=${GITHUB_REF#refs/*/} | |
echo "VERSION=${VERSION:1}" >> $GITHUB_ENV | |
- name: Set Chart to tag version | |
run: | | |
sed -i "s/\$VERSION_REPLACED_IN_CI/$VERSION/g" charts/nittei/Chart.yaml | |
sed -i "s/\$VERSION_REPLACED_IN_CI/$VERSION/g" charts/nittei/values.yaml | |
- name: Debug mark as latest | |
run: | | |
echo "github.event.release: ${{ github.event.release }}" | |
echo "github.event.release.prerelease: ${{ github.event.release.prerelease }}" | |
echo "mark_as_latest: ${{ !github.event.release.prerelease }}" | |
- name: Run chart-releaser | |
uses: helm/[email protected] | |
env: | |
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}" | |
mark_as_latest: "${{ !github.event.release.prerelease }}" |