aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordundargoc <gocdundar@gmail.com>2023-11-30 12:05:13 +0100
committerdundargoc <33953936+dundargoc@users.noreply.github.com>2023-12-01 16:59:23 +0100
commitce6fefbab9b6a902e725534c91ba3aa1025e5957 (patch)
treee9e5945ca27c79e9638f4cd4de23be63877875e0
parent76a30f2bd0f4e5abe906eabcdce092931d712be3 (diff)
downloadrneovim-ce6fefbab9b6a902e725534c91ba3aa1025e5957.tar.gz
rneovim-ce6fefbab9b6a902e725534c91ba3aa1025e5957.tar.bz2
rneovim-ce6fefbab9b6a902e725534c91ba3aa1025e5957.zip
ci: create setup action
This deduplicates common operations.
-rw-r--r--.github/actions/setup/action.yml29
-rw-r--r--.github/workflows/api-docs.yml4
-rw-r--r--.github/workflows/build.yml10
-rw-r--r--.github/workflows/codeql.yml9
-rw-r--r--.github/workflows/coverity.yml4
-rw-r--r--.github/workflows/lintcommit.yml4
-rw-r--r--.github/workflows/test.yml27
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