Update CI to address code scanning alerts #417
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: test | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| on: | |
| pull_request: { types: [opened, reopened, synchronize, ready_for_review] } | |
| push: { branches: [ main ] } | |
| jobs: | |
| unit-tests: | |
| permissions: | |
| contents: read | |
| uses: vapor/ci/.github/workflows/run-unit-tests.yml@main | |
| with: | |
| with_release_mode_testing: true | |
| with_api_check: false | |
| with_linting: true | |
| with_musl: true | |
| with_android: true | |
| android_copy_files: Tests/VaporToolboxTests/Manifests/ | |
| secrets: inherit | |
| submit-dependencies: | |
| permissions: | |
| contents: write | |
| if: ${{ github.event_name == 'push' }} | |
| uses: vapor/ci/.github/workflows/submit-deps.yml@main | |
| secrets: inherit | |
| test-makefile: | |
| permissions: | |
| contents: read | |
| runs-on: ubuntu-latest | |
| container: swift:6.2-noble | |
| steps: | |
| - name: Check out toolbox | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| fetch-tags: true | |
| - name: Install dependencies | |
| run: | | |
| apt-get -qq update | |
| apt-get -qq install -y make | |
| - name: Config Git | |
| run: | | |
| git config --global --add safe.directory /__w/toolbox/toolbox | |
| git checkout -b temp-branch | |
| - name: Build with Makefile | |
| run: make build | |
| - name: Install with Makefile | |
| run: make install DEST=/tmp/vapor MANDEST_DIR=/tmp/vapor-man/man1 | |
| - name: Test installation | |
| run: /tmp/vapor --version | |
| - name: Test manpage | |
| run: | | |
| test -f /tmp/vapor-man/man1/vapor.1 | |
| grep -q '^\.Nm vapor' /tmp/vapor-man/man1/vapor.1 | |
| - name: Uninstall with Makefile | |
| run: | | |
| make uninstall DEST=/tmp/vapor MANDEST_DIR=/tmp/vapor-man/man1 | |
| make clean | |
| integration-linux: | |
| permissions: | |
| contents: read | |
| if: ${{ github.event_name == 'pull_request' && !github.event.pull_request.draft }} | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }}-${{ toJSON(matrix) }} | |
| cancel-in-progress: true | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| fluentflags: | |
| - --no-fluent | |
| # - --fluent.db mysql | |
| - --fluent.db postgres | |
| - --fluent.db sqlite | |
| leafflags: [--leaf, --no-leaf] | |
| include: | |
| # - fluentflags: '--fluent.db mysql' | |
| # dbhostname: mysql | |
| - fluentflags: '--fluent.db postgres' | |
| dbhostname: psql | |
| runs-on: ubuntu-latest | |
| container: swift:6.2-noble | |
| services: | |
| # mysql: | |
| # image: mysql:latest | |
| # env: { MYSQL_ALLOW_EMPTY_PASSWORD: 'true', MYSQL_USER: vapor_username, MYSQL_PASSWORD: vapor_password, MYSQL_DATABASE: vapor_database } | |
| psql: | |
| image: postgres:latest | |
| env: { POSTGRES_USER: vapor_username, POSTGRES_DB: vapor_database, POSTGRES_PASSWORD: vapor_password, | |
| POSTGRES_HOST_AUTH_METHOD: 'scram-sha-256', POSTGRES_INITDB_ARGS: '--auth-host=scram-sha-256' } | |
| steps: | |
| - name: Check out toolbox | |
| uses: actions/checkout@v6 | |
| - name: Build toolbox | |
| run: swift build | |
| - name: Execute new project command | |
| env: | |
| FLUENTFLAGS: ${{ matrix.fluentflags }} | |
| LEAFFLAGS: ${{ matrix.leafflags }} | |
| run: | | |
| swift run \ | |
| vapor new toolbox-test \ | |
| --no-commit -o /tmp/toolbox-test \ | |
| ${FLUENTFLAGS} ${LEAFFLAGS} | |
| - name: Test new project | |
| run: swift test --package-path /tmp/toolbox-test | |
| env: | |
| DATABASE_HOST: ${{ matrix.dbhostname }} | |
| integration-macos: | |
| permissions: | |
| contents: read | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| fluentflags: | |
| - --no-fluent | |
| - --fluent.db mysql | |
| - --fluent.db postgres | |
| - --fluent.db sqlite | |
| leafflags: [--leaf, --no-leaf] | |
| runs-on: macos-26 | |
| steps: | |
| - name: Select toolchain | |
| uses: maxim-lobanov/setup-xcode@ed7a3b1fda3918c0306d1b724322adc0b8cc0a90 # v1.7.0 | |
| with: { xcode-version: latest-stable } | |
| - name: Check out toolbox | |
| uses: actions/checkout@v6 | |
| - name: Build toolbox | |
| run: swift build | |
| - name: Execute new project command | |
| env: | |
| FLUENTFLAGS: ${{ matrix.fluentflags }} | |
| LEAFFLAGS: ${{ matrix.leafflags }} | |
| run: | | |
| swift run \ | |
| vapor new toolbox-test \ | |
| --no-commit -o /tmp/toolbox-test \ | |
| ${FLUENTFLAGS} ${LEAFFLAGS} | |
| - name: Test new project | |
| run: swift build --package-path /tmp/toolbox-test |