Skip to content

Merge branch 'main' into release/0.7.1 #43

Merge branch 'main' into release/0.7.1

Merge branch 'main' into release/0.7.1 #43

Workflow file for this run

on:
push:
branches:
- 'release/*'
workflow_dispatch:
branches:
- 'release/*'
name: Beta
jobs:
deploy:
name: Deploy
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: cachix/install-nix-action@v20
- uses: cachix/cachix-action@v12
with:
name: sos-backend
authToken: "${{ secrets.CACHIX_AUTH_TOKEN_JSYS23 }}"
- name: Create ssh private key file
env:
SSH_PRIVATE_KEY: "${{ secrets.SSH_PRIVATE_KEY }}"
run: |
touch ./ssh_private_key
chmod 600 ./ssh_private_key
echo "$SSH_PRIVATE_KEY" > ./ssh_private_key
- name: Create NixOS configuration from secrets
env:
ADMINISTRATOR_EMAIL: "${{ secrets.ADMINISTRATOR_EMAIL }}"
ADMIN_REPORT_SLACK_WEBHOOK: "${{ secrets.ADMIN_REPORT_SLACK_WEBHOOK }}"
STAGE_PROJECT_CREATION_PERIOD: "${{ secrets.BETA_STAGE_PROJECT_CREATION_PERIOD }}"
GENERAL_PROJECT_CREATION_PERIOD: "${{ secrets.BETA_GENERAL_PROJECT_CREATION_PERIOD }}"
COOKING_PROJECT_CREATION_PERIOD: "${{ secrets.BETA_COOKING_PROJECT_CREATION_PERIOD }}"
COOKING_REQUIRING_PREPARATION_AREA_PROJECT_CREATION_PERIOD: "${{ secrets.BETA_COOKING_REQUIRING_PREPARATION_AREA_PROJECT_CREATION_PERIOD }}"
FOOD_PROJECT_CREATION_PERIOD: "${{ secrets.BETA_FOOD_PROJECT_CREATION_PERIOD }}"
run: |
cat << EOS > ./configuration.nix
{ ... }:
{
services.sos21-api-server = {
administratorEmail = "$ADMINISTRATOR_EMAIL";
adminReportSlackWebhook = "$ADMIN_REPORT_SLACK_WEBHOOK";
projectCreationPeriods = {
stage = "$STAGE_PROJECT_CREATION_PERIOD";
general = "$GENERAL_PROJECT_CREATION_PERIOD";
cooking = "$COOKING_PROJECT_CREATION_PERIOD";
cooking_requiring_preparation_area = "$COOKING_REQUIRING_PREPARATION_AREA_PROJECT_CREATION_PERIOD";
food = "$FOOD_PROJECT_CREATION_PERIOD";
};
};
}
EOS
- name: Deploy
uses: sohosai/sos-backend-infrastructure/actions/deploy-staging@main
with:
target: api.beta.online.sohosai.com
ssh_private_key: ./ssh_private_key
configurations: |
./nix/deployment/beta.nix
./configuration.nix
- name: Delete ssh private key file
if: always()
run: rm -f ./ssh_private_key
tag:
name: Tag
runs-on: ubuntu-22.04
needs: deploy
steps:
- uses: actions/checkout@v3
with:
# GITHUB_TOKEN user cannot trigger another workflow
token: "${{ secrets.TAGGER_PAT }}"
- name: Calculate next beta number
id: calculate-beta-number
run: |
branch=$(git branch --show-current)
git pull --tags
last_beta=$(git tag --list --sort=taggerdate "v${branch#release/}"'-beta*' | tail -n 1)
if [ -z "$last_beta" ]; then
echo "::set-output name=number::0"
exit
fi
beta_number=${last_beta#v*-beta}
beta_number=$(( beta_number + 1 ))
echo "::set-output name=number::$beta_number"
- name: git tag
env:
BETA_NUMBER: "${{ steps.calculate-beta-number.outputs.number }}"
run: |
branch=$(git branch --show-current)
tag_name=v${branch#release/}-beta${BETA_NUMBER}
git tag "$tag_name"
git push --tags