Your music, beautifully tracked. All yours. (coming soon) teal.fm
teal-fm atproto

i love ci

Changed files
+102 -8
.github
services
cadet
+22 -2
.github/workflows/ci.yml
··· 20 20 - name: Checkout repository 21 21 uses: actions/checkout@v4 22 22 23 + - name: Setup lexicons 24 + run: ./scripts/setup-lexicons.sh 25 + 26 + - name: Install pnpm 27 + uses: pnpm/action-setup@v4 28 + 29 + - name: Setup Node.js 30 + uses: actions/setup-node@v4 31 + with: 32 + node-version: "20" 33 + cache: "pnpm" 34 + 35 + - name: Install dependencies and generate lexicons 36 + run: | 37 + pnpm install --frozen-lockfile 38 + pnpm lex:gen --rust-only 39 + 23 40 - name: Install Rust toolchain 24 41 uses: dtolnay/rust-toolchain@stable 25 42 with: ··· 107 124 - name: Checkout repository 108 125 uses: actions/checkout@v4 109 126 127 + - name: Setup lexicons 128 + run: ./scripts/setup-lexicons.sh 129 + 110 130 - name: Install pnpm 111 131 uses: pnpm/action-setup@v4 112 132 ··· 124 144 125 145 - name: Check lexicon generation 126 146 run: | 127 - pnpm lex:gen-server 128 - git diff --exit-code || (echo "Lexicon files are out of sync. Run 'pnpm lex:gen-server' locally." && exit 1) 147 + pnpm lex:gen 148 + git diff --exit-code || (echo "Lexicon files are out of sync. Run 'pnpm lex:gen' locally." && exit 1)
+62 -4
.github/workflows/release.yml
··· 71 71 - name: Checkout repository 72 72 uses: actions/checkout@v4 73 73 74 + - name: Setup lexicons 75 + run: ./scripts/setup-lexicons.sh 76 + 77 + - name: Install pnpm 78 + uses: pnpm/action-setup@v4 79 + 80 + - name: Setup Node.js 81 + uses: actions/setup-node@v4 82 + with: 83 + node-version: "20" 84 + cache: "pnpm" 85 + 86 + - name: Install dependencies and generate lexicons 87 + run: | 88 + pnpm install --frozen-lockfile 89 + pnpm lex:gen --rust-only 90 + 74 91 - name: Log in to Container Registry 75 92 uses: docker/login-action@v3 76 93 with: ··· 102 119 - name: Build and push Docker image 103 120 uses: docker/build-push-action@v5 104 121 with: 105 - context: ./apps/aqua 122 + context: . 106 123 file: ./apps/aqua/Dockerfile 107 124 push: true 108 125 tags: ${{ steps.meta.outputs.tags }} ··· 122 139 - name: Checkout repository 123 140 uses: actions/checkout@v4 124 141 142 + - name: Setup lexicons 143 + run: ./scripts/setup-lexicons.sh 144 + 145 + - name: Install pnpm 146 + uses: pnpm/action-setup@v4 147 + 148 + - name: Setup Node.js 149 + uses: actions/setup-node@v4 150 + with: 151 + node-version: "20" 152 + cache: "pnpm" 153 + 154 + - name: Install dependencies and generate lexicons 155 + run: | 156 + pnpm install --frozen-lockfile 157 + pnpm lex:gen --rust-only 158 + 125 159 - name: Log in to Container Registry 126 160 uses: docker/login-action@v3 127 161 with: ··· 153 187 - name: Build and push Docker image 154 188 uses: docker/build-push-action@v5 155 189 with: 156 - context: ./services/cadet 190 + context: . 157 191 file: ./services/cadet/Dockerfile 158 192 push: true 159 193 tags: ${{ steps.meta.outputs.tags }} ··· 185 219 echo "has_dockerfile=false" >> $GITHUB_OUTPUT 186 220 fi 187 221 222 + - name: Setup lexicons 223 + if: steps.check.outputs.has_dockerfile == 'true' 224 + run: ./scripts/setup-lexicons.sh 225 + 226 + - name: Install pnpm 227 + if: steps.check.outputs.has_dockerfile == 'true' 228 + uses: pnpm/action-setup@v4 229 + 230 + - name: Setup Node.js 231 + if: steps.check.outputs.has_dockerfile == 'true' 232 + uses: actions/setup-node@v4 233 + with: 234 + node-version: "20" 235 + cache: "pnpm" 236 + 237 + - name: Install dependencies and generate lexicons 238 + if: steps.check.outputs.has_dockerfile == 'true' 239 + run: | 240 + pnpm install --frozen-lockfile 241 + pnpm lex:gen --rust-only 242 + 188 243 - name: Log in to Container Registry 189 244 if: steps.check.outputs.has_dockerfile == 'true' 190 245 uses: docker/login-action@v3 ··· 221 276 if: steps.check.outputs.has_dockerfile == 'true' 222 277 uses: docker/build-push-action@v5 223 278 with: 224 - context: ./services/${{ matrix.service }} 279 + context: . 225 280 file: ./services/${{ matrix.service }}/Dockerfile 226 281 push: true 227 282 tags: ${{ steps.meta.outputs.tags }} ··· 250 305 - name: Install dependencies 251 306 run: pnpm install --frozen-lockfile 252 307 308 + - name: Setup lexicons 309 + run: ./scripts/setup-lexicons.sh 310 + 253 311 - name: Generate lexicons 254 - run: pnpm lex:gen-server 312 + run: pnpm lex:gen 255 313 256 314 - name: Build for all platforms 257 315 run: |
+18 -1
.github/workflows/security.yml
··· 139 139 - name: Set up Docker Buildx 140 140 uses: docker/setup-buildx-action@v3 141 141 142 + - name: Setup lexicons 143 + run: ./scripts/setup-lexicons.sh 144 + 145 + - name: Install pnpm 146 + uses: pnpm/action-setup@v4 147 + 148 + - name: Setup Node.js 149 + uses: actions/setup-node@v4 150 + with: 151 + node-version: "20" 152 + cache: "pnpm" 153 + 154 + - name: Install dependencies and generate lexicons 155 + run: | 156 + pnpm install --frozen-lockfile 157 + pnpm lex:gen --rust-only 158 + 142 159 - name: Build Docker image 143 160 uses: docker/build-push-action@v5 144 161 with: 145 - context: ${{ matrix.service == 'aqua' && './apps/aqua' || './services/cadet' }} 162 + context: . 146 163 file: ${{ matrix.service == 'aqua' && './apps/aqua/Dockerfile' || './services/cadet/Dockerfile' }} 147 164 load: true 148 165 tags: ${{ matrix.service }}:latest
-1
services/cadet/Dockerfile
··· 41 41 42 42 # Install dependencies and generate lexicons 43 43 RUN pnpm install 44 - RUN pnpm lex:gen --rust-only 45 44 46 45 # Install cross-compilation toolchains 47 46 RUN rustup target add x86_64-unknown-linux-gnu aarch64-unknown-linux-gnu