mirror of https://github.com/fafhrd91/actix-web
				
				
				
			
		
			
				
	
	
		
			92 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
			
		
		
	
	
			92 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
name: CI (post-merge)
 | 
						|
 | 
						|
on:
 | 
						|
  push:
 | 
						|
    branches: [master]
 | 
						|
 | 
						|
permissions:
 | 
						|
  contents: read
 | 
						|
 | 
						|
concurrency:
 | 
						|
  group: ${{ github.workflow }}-${{ github.ref }}
 | 
						|
  cancel-in-progress: true
 | 
						|
 | 
						|
jobs:
 | 
						|
  build_and_test_nightly:
 | 
						|
    strategy:
 | 
						|
      fail-fast: false
 | 
						|
      matrix:
 | 
						|
        # prettier-ignore
 | 
						|
        target:
 | 
						|
          - { name: Linux, os: ubuntu-latest, triple: x86_64-unknown-linux-gnu }
 | 
						|
          - { name: macOS, os: macos-latest, triple: x86_64-apple-darwin }
 | 
						|
          - { name: Windows, os: windows-latest, triple: x86_64-pc-windows-msvc }
 | 
						|
        version:
 | 
						|
          - { name: nightly, version: nightly }
 | 
						|
 | 
						|
    name: ${{ matrix.target.name }} / ${{ matrix.version.name }}
 | 
						|
    runs-on: ${{ matrix.target.os }}
 | 
						|
 | 
						|
    steps:
 | 
						|
      - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
 | 
						|
 | 
						|
      - name: Install nasm
 | 
						|
        if: matrix.target.os == 'windows-latest'
 | 
						|
        uses: ilammy/setup-nasm@72793074d3c8cdda771dba85f6deafe00623038b # v1.5.2
 | 
						|
 | 
						|
      - name: Install OpenSSL
 | 
						|
        if: matrix.target.os == 'windows-latest'
 | 
						|
        shell: bash
 | 
						|
        run: |
 | 
						|
          set -e
 | 
						|
          choco install openssl --version=1.1.1.2100 -y --no-progress
 | 
						|
          echo 'OPENSSL_DIR=C:\Program Files\OpenSSL' >> $GITHUB_ENV
 | 
						|
          echo "RUSTFLAGS=-C target-feature=+crt-static" >> $GITHUB_ENV          
 | 
						|
 | 
						|
      - name: Install Rust (${{ matrix.version.name }})
 | 
						|
        uses: actions-rust-lang/setup-rust-toolchain@1780873c7b576612439a134613cc4cc74ce5538c # v1.15.2
 | 
						|
        with:
 | 
						|
          toolchain: ${{ matrix.version.version }}
 | 
						|
 | 
						|
      - name: Install just, cargo-hack, cargo-nextest, cargo-ci-cache-clean
 | 
						|
        uses: taiki-e/install-action@c5b1b6f479c32f356cc6f4ba672a47f63853b13b # v2.62.38
 | 
						|
        with:
 | 
						|
          tool: just,cargo-hack,cargo-nextest,cargo-ci-cache-clean
 | 
						|
 | 
						|
      - name: check minimal
 | 
						|
        run: just check-min
 | 
						|
 | 
						|
      - name: check default
 | 
						|
        run: just check-default
 | 
						|
 | 
						|
      - name: tests
 | 
						|
        timeout-minutes: 60
 | 
						|
        run: just test
 | 
						|
 | 
						|
      - name: CI cache clean
 | 
						|
        run: cargo-ci-cache-clean
 | 
						|
 | 
						|
  ci_feature_powerset_check:
 | 
						|
    name: Verify Feature Combinations
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
 | 
						|
    steps:
 | 
						|
      - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
 | 
						|
 | 
						|
      - name: Free Disk Space
 | 
						|
        run: ./scripts/free-disk-space.sh
 | 
						|
 | 
						|
      - name: Setup mold linker
 | 
						|
        uses: rui314/setup-mold@725a8794d15fc7563f59595bd9556495c0564878 # v1
 | 
						|
 | 
						|
      - name: Install Rust
 | 
						|
        uses: actions-rust-lang/setup-rust-toolchain@1780873c7b576612439a134613cc4cc74ce5538c # v1.15.2
 | 
						|
 | 
						|
      - name: Install just, cargo-hack
 | 
						|
        uses: taiki-e/install-action@c5b1b6f479c32f356cc6f4ba672a47f63853b13b # v2.62.38
 | 
						|
        with:
 | 
						|
          tool: just,cargo-hack
 | 
						|
 | 
						|
      - name: Check feature combinations
 | 
						|
        run: just check-feature-combinations
 |