name: Build on: push: branches: ["main"] pull_request: branches: ["main"] workflow_dispatch: permissions: contents: read jobs: windows-x86_64: runs-on: ubuntu-latest steps: - name: Setup repo uses: actions/checkout@v4 - name: Setup Deno uses: denoland/setup-deno@61fe2df320078202e33d7d5ad347e7dcfa0e8f31 # v1.1.2 with: deno-version: v2.8.x - name: Install Deno packages run: deno install - name: Run linter run: deno lint - name: Build apply run: deno compile --target x86_64-pc-windows-msvc --output build/rainwall-apply -A ./src/apply/index.ts - name: Build analyze run: deno compile --target x86_64-pc-windows-msvc --output build/rainwall-analyze -A ./src/analyze/index.ts - name: Upload build artifacts uses: actions/upload-artifact@v4 with: name: windows-x86_64 path: build/ linux-x86_64: runs-on: ubuntu-latest steps: - name: Setup repo uses: actions/checkout@v4 - name: Setup Deno uses: denoland/setup-deno@61fe2df320078202e33d7d5ad347e7dcfa0e8f31 # v1.1.2 with: deno-version: v2.8.x - name: Install Deno packages run: deno install - name: Run linter run: deno lint - name: Build apply run: deno compile --target x86_64-unknown-linux-gnu --output build/rainwall-apply-linux-x86_64 -A ./src/apply/index.ts - name: Build analyze run: deno compile --target x86_64-unknown-linux-gnu --output build/rainwall-analyze-linux-x86_64 -A ./src/analyze/index.ts - name: Upload build artifacts uses: actions/upload-artifact@v4 with: name: linux-x86_64 path: build/ linux-aarch64: runs-on: ubuntu-latest steps: - name: Setup repo uses: actions/checkout@v4 - name: Setup Deno uses: denoland/setup-deno@61fe2df320078202e33d7d5ad347e7dcfa0e8f31 # v1.1.2 with: deno-version: v2.8.x - name: Install Deno packages run: deno install - name: Run linter run: deno lint - name: Build apply run: deno compile --target aarch64-unknown-linux-gnu --output build/rainwall-apply-linux-aarch64 -A ./src/apply/index.ts - name: Build analyze run: deno compile --target aarch64-unknown-linux-gnu --output build/rainwall-analyze-linux-aarch64 -A ./src/analyze/index.ts - name: Upload build artifacts uses: actions/upload-artifact@v4 with: name: linux-aarch64 path: build/ darwin-x86_64: runs-on: ubuntu-latest steps: - name: Setup repo uses: actions/checkout@v4 - name: Setup Deno uses: denoland/setup-deno@61fe2df320078202e33d7d5ad347e7dcfa0e8f31 # v1.1.2 with: deno-version: v2.8.x - name: Install Deno packages run: deno install - name: Run linter run: deno lint - name: Build apply run: deno compile --target x86_64-apple-darwin --output build/rainwall-apply -A ./src/apply/index.ts - name: Build analyze run: deno compile --target x86_64-apple-darwin --output build/rainwall-analyze -A ./src/analyze/index.ts - name: Upload build artifacts uses: actions/upload-artifact@v4 with: name: darwin-x86_64 path: build/ darwin-aarch64: runs-on: ubuntu-latest steps: - name: Setup repo uses: actions/checkout@v4 - name: Setup Deno uses: denoland/setup-deno@61fe2df320078202e33d7d5ad347e7dcfa0e8f31 # v1.1.2 with: deno-version: v2.8.x - name: Install Deno packages run: deno install - name: Run linter run: deno lint - name: Build apply run: deno compile --target aarch64-apple-darwin --output build/rainwall-apply -A ./src/apply/index.ts - name: Build analyze run: deno compile --target aarch64-apple-darwin --output build/rainwall-analyze -A ./src/analyze/index.ts - name: Upload build artifacts uses: actions/upload-artifact@v4 with: name: darwin-aarch64 path: build/