85 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: CI
 | 
						|
 | 
						|
on:
 | 
						|
  push:
 | 
						|
    branches:
 | 
						|
      - main
 | 
						|
      - 'migration/**'
 | 
						|
  pull_request:
 | 
						|
    branches:
 | 
						|
      - main
 | 
						|
 | 
						|
jobs:
 | 
						|
  check:
 | 
						|
    name: Type Check & Lint
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
 | 
						|
    steps:
 | 
						|
      - name: Checkout code
 | 
						|
        uses: actions/checkout@v4
 | 
						|
 | 
						|
      - name: Set up Deno
 | 
						|
        uses: denoland/setup-deno@v1
 | 
						|
        with:
 | 
						|
          deno-version: v2.x
 | 
						|
 | 
						|
      - name: Check TypeScript types
 | 
						|
        run: deno check mod.ts
 | 
						|
 | 
						|
      - name: Lint code
 | 
						|
        run: deno lint
 | 
						|
        continue-on-error: true
 | 
						|
 | 
						|
      - name: Format check
 | 
						|
        run: deno fmt --check
 | 
						|
        continue-on-error: true
 | 
						|
 | 
						|
  build:
 | 
						|
    name: Build Test (Current Platform)
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
 | 
						|
    steps:
 | 
						|
      - name: Checkout code
 | 
						|
        uses: actions/checkout@v4
 | 
						|
 | 
						|
      - name: Set up Deno
 | 
						|
        uses: denoland/setup-deno@v1
 | 
						|
        with:
 | 
						|
          deno-version: v2.x
 | 
						|
 | 
						|
      - name: Compile for current platform
 | 
						|
        run: |
 | 
						|
          echo "Testing compilation for Linux x86_64..."
 | 
						|
          deno compile --allow-all --no-check \
 | 
						|
            --output nupst-test \
 | 
						|
            --target x86_64-unknown-linux-gnu mod.ts
 | 
						|
 | 
						|
      - name: Test binary execution
 | 
						|
        run: |
 | 
						|
          chmod +x nupst-test
 | 
						|
          ./nupst-test --version
 | 
						|
          ./nupst-test help
 | 
						|
 | 
						|
  build-all:
 | 
						|
    name: Build All Platforms
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
 | 
						|
    steps:
 | 
						|
      - name: Checkout code
 | 
						|
        uses: actions/checkout@v4
 | 
						|
 | 
						|
      - name: Set up Deno
 | 
						|
        uses: denoland/setup-deno@v1
 | 
						|
        with:
 | 
						|
          deno-version: v2.x
 | 
						|
 | 
						|
      - name: Compile all platform binaries
 | 
						|
        run: bash scripts/compile-all.sh
 | 
						|
 | 
						|
      - name: Upload all binaries as artifact
 | 
						|
        uses: actions/upload-artifact@v3
 | 
						|
        with:
 | 
						|
          name: nupst-binaries.zip
 | 
						|
          path: dist/binaries/*
 | 
						|
          retention-days: 30
 |