Your music, beautifully tracked. All yours. (coming soon) teal.fm
teal-fm atproto
at main 91 lines 2.3 kB view raw
1# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json 2 3name: Build Amethyst 4 5on: 6 push: 7 branches: [main] 8 paths: 9 - "apps/amethyst/**" 10 - "packages/**" 11 - "lexicons/**" 12 - "package.json" 13 - "pnpm-lock.yaml" 14 - ".github/workflows/amethyst.yml" 15 pull_request: 16 branches: [main] 17 paths: 18 - "apps/amethyst/**" 19 - "packages/**" 20 - "lexicons/**" 21 - "package.json" 22 - "pnpm-lock.yaml" 23 - ".github/workflows/amethyst.yml" 24 25jobs: 26 build: 27 name: Build Amethyst 28 runs-on: ubuntu-latest 29 outputs: 30 build-cache-key: ${{ steps.cache-key.outputs.key }} 31 steps: 32 - name: Checkout repository 33 uses: actions/checkout@v4 34 35 - name: Setup environment 36 uses: ./.github/actions/setup 37 with: 38 setup-node: "true" 39 40 - name: Generate cache key 41 id: cache-key 42 run: echo "key=amethyst-build-${{ hashFiles('apps/amethyst/**', 'packages/**', 'lexicons/**') }}" >> $GITHUB_OUTPUT 43 44 - name: Build lex tool 45 run: cd tools/lexicon-cli && pnpm i && pnpm build 46 47 - name: Build web 48 run: pnpm turbo build:web --filter=@teal/amethyst 49 50 - name: Type check 51 run: pnpm turbo check-types --filter=@teal/amethyst 52 53 - name: Run tests 54 run: pnpm turbo test --filter=@teal/amethyst 55 56 - name: Upload web build artifacts 57 uses: actions/upload-artifact@v4 58 with: 59 name: amethyst-web-build 60 path: apps/amethyst/build/ 61 retention-days: 7 62 63 build-ios: 64 name: Build iOS 65 runs-on: macos-latest 66 needs: build 67 if: github.event_name == 'push' && github.ref == 'refs/heads/main' 68 steps: 69 - name: Checkout repository 70 uses: actions/checkout@v4 71 72 - name: Setup environment 73 uses: ./.github/actions/setup 74 with: 75 setup-node: "true" 76 77 - name: Build lex tool 78 run: cd tools/lexicon-cli && pnpm i && pnpm build 79 80 - name: Setup Expo CLI 81 run: npm install -g @expo/cli 82 83 - name: Build iOS 84 run: pnpm turbo build:ios --filter=@teal/amethyst 85 86 - name: Upload iOS build artifacts 87 uses: actions/upload-artifact@v4 88 with: 89 name: amethyst-ios-build 90 path: apps/amethyst/build/ 91 retention-days: 7