From df327ecfdc9b3ada893878c57d8015522140afc5 Mon Sep 17 00:00:00 2001 From: Nils Hjelte Date: Sun, 1 Oct 2023 19:30:40 +0200 Subject: [PATCH] Fix CI --- .github/workflows/build-and-test-template.yml | 108 +++++++++--------- .github/workflows/build-and-test.yml | 1 + .github/workflows/publish-release-version.yml | 14 +-- 3 files changed, 58 insertions(+), 65 deletions(-) diff --git a/.github/workflows/build-and-test-template.yml b/.github/workflows/build-and-test-template.yml index 8c28717..b1b43d8 100644 --- a/.github/workflows/build-and-test-template.yml +++ b/.github/workflows/build-and-test-template.yml @@ -28,62 +28,62 @@ on: type: string jobs: - # build-devcontainer-linux: - # name: "Build and test: ${{ matrix.host.os }}/${{ inputs.build-type }}" - # strategy: - # fail-fast: false - # matrix: - # host: [ - # { type: linux, os: ubuntu-latest, - # build-options: "-v --build-tests -Xswiftc -enable-testing", - # test-options: "-v --enable-code-coverage" - # } - # ] - # configuration: [ "debug", "release" ] - - # runs-on: ${{ matrix.host.os }} - # steps: - # - uses: actions/checkout@v3 + build-devcontainer-linux: + name: "Build and test: ${{ matrix.host.os }}/${{ inputs.build-type }}" + strategy: + fail-fast: false + matrix: + host: [ + { type: linux, os: ubuntu-latest, + build-options: "-v --build-tests -Xswiftc -enable-testing", + test-options: "-v --enable-code-coverage" + } + ] + configuration: [ "debug", "release" ] - # - uses: actions/cache@v3 - # with: - # path: .build - # key: ${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }} - # restore-keys: | - # ${{ runner.os }}-spm- + runs-on: ${{ matrix.host.os }} + steps: + - uses: actions/checkout@v3 - # - name: Build and Test - # uses: devcontainers/ci@v0.3 - # with: - # runCmd: | - # set -eo pipefail - # swift package resolve - # .build/checkouts/Swifty-LLVM/Tools/make-pkgconfig.sh llvm.pc - # export PKG_CONFIG_PATH=$PWD - # swift build -c ${{ inputs.build-type }} ${{ matrix.host.build-options }} - # BUILD_DIR=$(swift build -c ${{ inputs.build-type }} --show-bin-path) - # echo "BUILD_DIR=$BUILD_DIR" >> $GITHUB_ENV - # # swift test -c ${{ inputs.build-type }} ${{ matrix.host.test-options }} | - # # tee testoutput.txt && ( - # # (grep -q "[.']EndToEndTests[/. ]test_" testoutput.txt && grep -q "[.']HyloTests[/. ]test_" testoutput.txt) || - # # (echo "error: generated tests failed to run; see - # # https://github.com/apple/swift-package-manager/issues/6595" && false) ) - - # # - name: Check code coverage - # # uses: mattpolzin/swift-codecov-action@0.7.3 - # # with: - # # SORT_ORDER: +cov - # # MINIMUM_COVERAGE: 84 - # # CODECOV_JSON: .build/${{ inputs.build-type }}/codecov/*.json - - - # - name: Upload Hylo LSP artifacts (${{ inputs.build-type }}) - # uses: actions/upload-artifact@v3 - # with: - # name: hylo-lsp-artifacts-linux - # path: | - # ${{ env.BUILD_DIR }}/hylo-lsp-client - # ${{ env.BUILD_DIR }}/hylo-lsp-server + - uses: actions/cache@v3 + with: + path: .build + key: ${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }} + restore-keys: | + ${{ runner.os }}-spm- + + - name: Build and Test + uses: devcontainers/ci@v0.3 + with: + runCmd: | + set -eo pipefail + swift package resolve + .build/checkouts/Swifty-LLVM/Tools/make-pkgconfig.sh llvm.pc + export PKG_CONFIG_PATH=$PWD + swift build -c ${{ inputs.build-type }} ${{ matrix.host.build-options }} + BUILD_DIR=$(swift build -c ${{ inputs.build-type }} --show-bin-path) + echo "BUILD_DIR=$BUILD_DIR" >> $GITHUB_ENV + # swift test -c ${{ inputs.build-type }} ${{ matrix.host.test-options }} | + # tee testoutput.txt && ( + # (grep -q "[.']EndToEndTests[/. ]test_" testoutput.txt && grep -q "[.']HyloTests[/. ]test_" testoutput.txt) || + # (echo "error: generated tests failed to run; see + # https://github.com/apple/swift-package-manager/issues/6595" && false) ) + + # - name: Check code coverage + # uses: mattpolzin/swift-codecov-action@0.7.3 + # with: + # SORT_ORDER: +cov + # MINIMUM_COVERAGE: 84 + # CODECOV_JSON: .build/${{ inputs.build-type }}/codecov/*.json + + + - name: Upload Hylo LSP artifacts (${{ inputs.build-type }}) + uses: actions/upload-artifact@v3 + with: + name: hylo-lsp-artifacts-linux + path: | + ${{ env.BUILD_DIR }}/hylo-lsp-client + ${{ env.BUILD_DIR }}/hylo-lsp-server build-native-macos: name: "Build and test: ${{ matrix.host.os }}/${{ inputs.build-type }}" diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 387efa4..6f43b37 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -40,6 +40,7 @@ env: jobs: build: + name: Build and test uses: ./.github/workflows/build-and-test-template.yml with: build-type: debug diff --git a/.github/workflows/publish-release-version.yml b/.github/workflows/publish-release-version.yml index 0aedb35..861381c 100644 --- a/.github/workflows/publish-release-version.yml +++ b/.github/workflows/publish-release-version.yml @@ -6,10 +6,12 @@ on: jobs: build: + name: Build and test uses: ./.github/workflows/build-and-test-template.yml with: build-type: release publish-release: + name: Publish release needs: [build] runs-on: ubuntu-latest steps: @@ -19,21 +21,11 @@ jobs: submodules: 'true' - name: Download hylo-lsp-artifacts-mac - id: download-artifact - uses: dawidd6/action-download-artifact@v2 + uses: actions/download-artifact@v3 with: - workflow: build-and-test.yml name: hylo-lsp-artifacts-mac path: hylo-lsp-mac - # - name: Download Hylo LSP artifact-common - # id: download-artifact - # uses: dawidd6/action-download-artifact@v2 - # with: - # workflow: build-and-test.yml - # name: hylo-lsp-artifacts-common - # path: hylo-lsp-artifacts-common - - name: Package Hylo release artifacts run: | set -eo pipefail