Merge pull request #371 from AmazeeLabs/SLB-486-translation-improvements #3140
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: Test | |
on: | |
push: | |
workflow_dispatch: | |
inputs: | |
turborepo_caching: | |
description: 'Turborepo caching' | |
type: choice | |
options: | |
- 'On' | |
- 'Off' | |
default: 'On' | |
jobs: | |
test: | |
name: Test | |
runs-on: ubuntu-latest | |
steps: | |
- name: Init check | |
if: ${{ github.repository != 'AmazeeLabs/silverback-template'}} | |
run: | |
echo 'Please run the INIT script. See the root README.md for | |
instructions.' && false | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup | |
uses: ./.github/actions/setup | |
- name: Check formatting | |
run: pnpm test:format | |
- name: TurboRepo local server | |
if: ${{ github.event.inputs.turborepo_caching != 'Off' }} | |
uses: felixmosh/turborepo-gh-artifacts@v3 | |
with: | |
server-token: 'local' | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test | |
run: pnpm turbo:test | |
env: | |
TURBO_API: 'http://127.0.0.1:9080' | |
TURBO_TOKEN: 'local' | |
TURBO_TEAM: 'local' | |
- name: 'Logs: cms' | |
run: cat /tmp/cms.log || true | |
if: always() | |
- name: 'Logs: website' | |
run: cat /tmp/website.log || true | |
if: always() | |
- name: 'Logs: preview' | |
run: cat /tmp/preview.log || true | |
if: always() | |
- name: Upload Playwright report | |
uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: playwright-report | |
path: tests/e2e/playwright-report/ | |
retention-days: 3 | |
- name: Check for Chromatic project token | |
id: chromatic-check | |
shell: bash | |
run: | | |
if [ "${{ secrets.CHROMATIC_PROJECT_TOKEN }}" != '' ]; then | |
echo "available=true" >> $GITHUB_OUTPUT; | |
else | |
echo "available=false" >> $GITHUB_OUTPUT; | |
fi | |
- name: Publish to Chromatic | |
uses: chromaui/action@v11 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }} | |
storybookBuildDir: packages/ui/storybook-static | |
storybookBaseDir: packages/ui | |
onlyChanged: true | |
exitOnceUploaded: true | |
externals: | | |
static/stories/webforms/** | |
if: | |
${{ steps.chromatic-check.outputs.available == 'true' && | |
github.ref != 'refs/heads/dev' }} | |
- name: Deploy storybook to netlify | |
run: | |
pnpm run --filter=@custom/ui build && pnpm --package=netlify-cli dlx | |
netlify deploy --prod --filter @custom/ui | |
--dir=packages/ui/storybook-static | |
env: | |
VITEST_CLOUDINARY_CLOUDNAME: local | |
NETLIFY_SITE_ID: ${{ vars.NETLIFY_STORYBOOK_ID }} | |
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} | |
if: | |
${{ github.ref == 'refs/heads/dev' && vars.NETLIFY_STORYBOOK_ID != '' | |
}} | |
- name: Merge release to prod (silverback-template only) | |
uses: devmasx/[email protected] | |
if: | |
${{ github.repository == 'AmazeeLabs/silverback-template' && | |
github.ref == 'refs/heads/release'}} | |
with: | |
type: now | |
from_branch: release | |
target_branch: prod | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
update_dashboard: | |
name: Update dashboard | |
if: github.ref == 'refs/heads/release' && vars.JIRA_PROJECT_ID != '' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install estimator | |
run: npm install -g @amazeelabs/estimator | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Update dashboard | |
env: | |
JIRA_PROJECT_ID: ${{ vars.JIRA_PROJECT_ID }} | |
DASHBOARD_ACCESS_TOKEN: ${{ secrets.DASHBOARD_ACCESS_TOKEN }} | |
run: amazeelabs-estimator update | |
init_script: | |
name: Init script | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup | |
uses: ./.github/actions/setup | |
- name: Test init script | |
run: | |
pnpm --filter @custom/init run init --project-human-name "Foo Bar" | |
--project-machine-name foo_bar | grep 'Run `pnpm i` to update the lock | |
file' | |
docker_build: | |
name: Docker Build | |
if: | |
startsWith(github.ref_name, 'test-all/') || startsWith(github.head_ref, | |
'test-all/') | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Set up Homebrew | |
id: set-up-homebrew | |
uses: Homebrew/actions/setup-homebrew@master | |
- name: Install Pygmy | |
run: | | |
set -ex | |
brew tap pygmystack/pygmy | |
brew install pygmy | |
- name: Start Pygmy | |
run: pygmy up | |
- name: Docker Build & Up | |
run: DOCKER_BUILDKIT=1 docker compose up -d --build | |
- name: Wait a bit | |
run: sleep 5 | |
- name: Check containers status | |
run: | | |
if docker compose ps | grep Exit | |
then | |
echo "Docker container(s) exited" | |
exit 1 | |
else | |
echo "Docker containers running" | |
fi |