diff options
-rw-r--r-- | .github/actions/setup/action.yml | 29 | ||||
-rw-r--r-- | .github/workflows/api-docs.yml | 4 | ||||
-rw-r--r-- | .github/workflows/build.yml | 10 | ||||
-rw-r--r-- | .github/workflows/codeql.yml | 9 | ||||
-rw-r--r-- | .github/workflows/coverity.yml | 4 | ||||
-rw-r--r-- | .github/workflows/lintcommit.yml | 4 | ||||
-rw-r--r-- | .github/workflows/test.yml | 27 |
7 files changed, 47 insertions, 40 deletions
diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml new file mode 100644 index 0000000000..dfa3101abc --- /dev/null +++ b/.github/actions/setup/action.yml @@ -0,0 +1,29 @@ +name: 'setup' +description: "Creates necessary setup for CI" +inputs: + install_flags: + description: 'Install script flags' + required: false + default: '' +runs: + using: "composite" + steps: + - name: Set $BIN_DIR + shell: bash + run: echo "$BIN_DIR" >> $GITHUB_PATH + + - if: ${{ runner.os != 'Windows' }} + name: Set ulimit + shell: bash + run: ulimit -c unlimited + + - if: ${{ runner.os == 'Windows' }} + run: .github/scripts/env.ps1 + shell: pwsh + + - name: Install dependencies + run: ./.github/scripts/install_deps.sh ${{ inputs.install_flags }} + shell: bash + + - name: Cache + uses: ./.github/actions/cache diff --git a/.github/workflows/api-docs.yml b/.github/workflows/api-docs.yml index 6f8fe107d2..181e3a1a41 100644 --- a/.github/workflows/api-docs.yml +++ b/.github/workflows/api-docs.yml @@ -18,11 +18,11 @@ jobs: pull-requests: write steps: - uses: actions/checkout@v4 + - uses: ./.github/actions/setup + - name: Install dependencies run: | - ./.github/scripts/install_deps.sh sudo apt-get install -y doxygen python3-msgpack - - uses: ./.github/actions/cache - name: Generate docs run: | diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d6e11fcdcb..3044a4fae0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,7 +25,7 @@ jobs: timeout-minutes: 20 steps: - uses: actions/checkout@v4 - - run: ./.github/scripts/install_deps.sh + - uses: ./.github/actions/setup - run: printf 'NVIM_BUILD_TYPE=Release\n' >> $GITHUB_ENV - name: Build universal binary @@ -40,11 +40,7 @@ jobs: CMAKE_VERSION: '3.10.0' steps: - uses: actions/checkout@v4 - - run: ./.github/scripts/install_deps.sh - - - name: Set up environment - run: echo "$BIN_DIR" >> $GITHUB_PATH - + - uses: ./.github/actions/setup - name: Install minimum required version of cmake run: | @@ -73,7 +69,7 @@ jobs: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - - run: ./.github/scripts/install_deps.sh + - uses: ./.github/actions/setup - name: Build bundled dependencies run: make deps diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 365c3fdf56..033dd5aef4 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -20,19 +20,14 @@ jobs: security-events: write steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Install dependencies - run: ./.github/scripts/install_deps.sh + - uses: actions/checkout@v4 + - uses: ./.github/actions/setup - name: Initialize CodeQL uses: github/codeql-action/init@v2 with: languages: cpp - - uses: ./.github/actions/cache - - run: make - name: Perform CodeQL Analysis diff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml index 3eed1e51df..998678daf0 100644 --- a/.github/workflows/coverity.yml +++ b/.github/workflows/coverity.yml @@ -9,9 +9,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - - name: Install dependencies - run: ./.github/scripts/install_deps.sh + - uses: ./.github/actions/setup - name: Download Coverity run: | diff --git a/.github/workflows/lintcommit.yml b/.github/workflows/lintcommit.yml index 8f56c057ae..f27b22f35f 100644 --- a/.github/workflows/lintcommit.yml +++ b/.github/workflows/lintcommit.yml @@ -14,8 +14,8 @@ jobs: fetch-depth: 0 ref: ${{ github.event.pull_request.head.sha }} - - run: ./.github/scripts/install_deps.sh - - uses: ./.github/actions/cache + - uses: ./.github/actions/setup + - name: Build run: | cmake -S cmake.deps --preset ci diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index acf0f195b9..67d33fc1f6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -35,15 +35,13 @@ jobs: CC: clang steps: - uses: actions/checkout@v4 - - run: ./.github/scripts/install_deps.sh - - uses: ./.github/actions/cache + - uses: ./.github/actions/setup - name: Install stylua run: | URL=$(curl -L https://api.github.com/repos/JohnnyMorganz/StyLua/releases/latest | jq -r '.assets[] | select(.name == "stylua-linux-x86_64.zip") | .browser_download_url') wget --directory-prefix="$BIN_DIR" "$URL" (cd "$BIN_DIR"; unzip stylua*.zip) - echo "$BIN_DIR" >> $GITHUB_PATH - name: Build third-party deps run: | @@ -88,8 +86,7 @@ jobs: CC: clang steps: - uses: actions/checkout@v4 - - run: ./.github/scripts/install_deps.sh - - uses: ./.github/actions/cache + - uses: ./.github/actions/setup - name: Build third-party deps run: | cmake -S cmake.deps --preset ci @@ -124,13 +121,9 @@ jobs: CC: ${{ matrix.build.cc }} steps: - uses: actions/checkout@v4 - - run: ./.github/scripts/install_deps.sh --test - - uses: ./.github/actions/cache - - - name: Set up environment - run: | - ulimit -c unlimited - echo "$BIN_DIR" >> $GITHUB_PATH + - uses: ./.github/actions/setup + with: + install_flags: "--test" - name: Create log dir run: mkdir -p "$LOG_DIR" @@ -213,8 +206,7 @@ jobs: test: [functional, old] steps: - uses: actions/checkout@v4 - - uses: ./.github/actions/cache - - run: .github/scripts/env.ps1 + - uses: ./.github/actions/setup - name: Build deps run: | @@ -281,8 +273,7 @@ jobs: CC: gcc steps: - uses: actions/checkout@v4 - - run: ./.github/scripts/install_deps.sh - - uses: ./.github/actions/cache + - uses: ./.github/actions/setup - name: Build third-party deps run: | @@ -308,11 +299,11 @@ jobs: CC: gcc steps: - uses: actions/checkout@v4 + - uses: ./.github/actions/setup - name: Install dependencies run: | sudo add-apt-repository ppa:neovim-ppa/stable - ./.github/scripts/install_deps.sh sudo apt-get install -y \ libluajit-5.1-dev \ libmsgpack-dev \ @@ -329,8 +320,6 @@ jobs: # Remove comments from packages once we start using these external # dependencies. - - uses: ./.github/actions/cache - - name: Build third-party deps run: | cmake -S cmake.deps --preset external_deps |