aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/release.yml
Commit message (Collapse)AuthorAge
* ci!: store artifact shasums in a single shasum.txt filedundargoc2025-01-29
| | | | Users can parse this file to get the shasum they require.
* ci(release)!: remove backwards compatible releasesdundargoc2025-01-28
| | | | | | | Remove `nvim-linux64.tar.gz` and `nvim.appimage` as maintaining these is too much work. Also fix directory names to be consistent.
* ci(release): add linux-arm64 appimage and tarballChristian Clason2025-01-27
| | | | | | | Problem: No releases for ARM Linux. Solution: Provide appimages and tarballs for `linux-arm64`. Rename x86 releases to `linux-x86_64` for consistency.
* ci: bump Intel macOS runners to 13Christian Clason2024-10-19
| | | | | | Problem: macos-12 GH runners are deprecated and will be removed soon. Solution: use macos-13 runners instead.
* ci: use the same logic to determine build type for all releasesdundargoc2024-03-25
|
* ci: provide separate macos releases for intel and armdundargoc2024-03-24
| | | | | | This will immensely reduce the complexity required to support both architectures, reduce overall lines of code and unblock follow-up simplifications.
* ci(release): run universal_macos build on M1 (#27505)Christian Clason2024-02-17
| | | | | | Run the release workflow on macos-14 to use faster M1 runners. Lock the deployment target to the oldest supported version (11.0, due to libuv support) instead of relying on the host OS version.
* ci(release): bump mac runner version to macos-12dundargoc2024-02-06
|
* build: various fixesdundargoc2024-02-01
| | | | | | | - Consistently use the variable CMAKE_BUILD_TYPE to select build type. - Remove broken `doc_html` target. - Remove swap files created by oldtest when cleaning. - Only rerun `lintdoc` if any documentation files has changed.
* ci: remove winget workflowdundargoc2023-12-26
| | | | | | | | | All releases that aren't directly maintained by us should live in the `neovim/neovim-releases` repository to make it clear that neovim isn't directly responsible for it and to correctly manage expectations that it's provided on a best-effort case. Closes https://github.com/neovim/neovim/issues/26717.
* ci(release): create version tag after "stable" tag (#26671)zeertzjq2023-12-20
|
* ci: bump actions/upload-artifact from 3 to 4dependabot[bot]2023-12-15
| | | | Uploads are significantly faster, upwards of 90% improvement in worst case scenarios.
* ci: bump actions/download-artifact from 3 to 4dependabot[bot]2023-12-15
| | | | | | | Notable changes: - Downloads are significantly faster, upwards of 90% improvement in worst case scenarios. - Artifacts can be downloaded from other workflow runs and repositories when supplied with a PAT.
* ci: refactor CI filesdundargoc2023-12-09
| | | | | Mostly rename file and variable names to be more consistent. This makes it easier to locate them in the "Actions" tab on github.
* ci(release): perform a full checkout when building (#26323)zeertzjq2023-11-30
| | | Ref #13471
* ci(release): remove unnecessary full clonedundargoc2023-09-09
|
* ci: remove container solution for the linux runnerdundargoc2023-09-09
| | | | | | | | This will fix the failing release job. Ubuntu 18.04 is incompatible with checkout action version 4, which requires glibc 2.28+. This will bump the minimum glibc version required to use the release versions to 2.31. People requring the older releases can find them at https://github.com/neovim/neovim-releases.
* ci: bump actions/checkout from 3 to 4dependabot[bot]2023-09-04
| | | | | | | | | | | | | | | Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
* ci: make install_deps.sh more flexibledundargoc2023-04-29
| | | | This will allow us to use it in containers as well as specify whether we want to install test dependencies.
* ci: reuse script to enable Developer Command Promptdundargoc2023-04-23
|
* ci: make all linux releases work with same glibc versiondundargoc2023-04-22
|
* ci(release/winget): get msi from previous job instead of downloading Vedant2023-04-10
|
* ci: don't automatically enable -Werror on CI environmentsdundargoc2023-04-07
| | | | | | This catches downstream consumers of neovim off guard when using neovim in an esoteric environment not tested in our own CI. Closes https://github.com/neovim/neovim/issues/22932
* ci!: remove the .deb release (#22773)dundargoc2023-04-05
| | | | | | | | | | | | | | | | | | | Having multiple release artifacts per platform is a maintenance burden. Furthermore, it is a maintenance burden that doesn't directly improve the Nvim editor itself. The releases are meant to be a quick way for users to try out and use neovim on their platform and was never intended to be a buffet of releases for every conceivable setup. Users are encouraged to the following replacements: - Github action `action-setup-vim` to have neovim installed on their PATH for their CI jobs. See https://github.com/rhysd/action-setup-vim. - Use the appimage, either as is or by extracting it - To use as is, run `chmod u+x nvim.appimage && ./nvim.appimage` - If your system does not have FUSE you can extract the appimage with `./nvim.appimage --appimage-extract && ./squashfs-root/usr/bin/nvim` - Build it manually. See https://github.com/neovim/neovim/wiki/Building-Neovim. Work on https://github.com/neovim/neovim/issues/22684
* fix(ci/release/winget): bump action versionVedant2023-02-20
|
* ci: enable CI_BUILD automatically if environment variable CI is true (#22312)dundargoc2023-02-18
| | | | | | | Having to specify CI_BUILD for every CI job requires boilerplate. More importantly, it's easy to forget to enable CI_BUILD, as seen by 8a20f9f98a90a7a43aea08fcde2c40a5356b4f7b. It's simpler to remember to turn CI_BUILD off when a job errors instead of remembering that every new job should have CI_BUILD on.
* ci: remove former dependencies that are no longer needed (#22301)dundargoc2023-02-18
| | | | | | | | | libtool, autoconf, automake and perl are no longer dependencies of neovim and doesn't need to be installed in CI anymore. The dependencies and the commit that removed them as dependencies are the following: libtool: b05100a9eaad5980ea7652137bc4a1c2d15d752f perl: 20a932cb72cf077d54e3498ef93341ffe3d4cdbb autoconf+automake: e23c5fda0a3fe385af615372c474d4dad3b74464
* ci: inline external environment scripts (#22237)dundargoc2023-02-12
| | | | Scripts that define the build itself shouldn't be external as they lead to hard to find bugs.
* ci: remove unnecessary environment variables (#22175)dundargoc2023-02-10
|
* ci: add universal macos job (#22156)dundargoc2023-02-07
| | | | | The universal macos release is particularly sensitive to build system changes. Adding a job that builds a universal binary whenever a cmake file is changed will help prevent future release breaks.
* ci(release): properly set multiline output variable (#21560)zeertzjq2022-12-28
|
* ci(release/winget): correctly set output variable (#21077)Vedant2022-11-17
|
* ci: replace deprecated feature set-output (#20834)dundargoc2022-11-05
| | | | | The new recommended way to share values between Github Actions steps is to use environment files: https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-output-parameter
* ci: remove ci/build.ps1 (#20891)dundargoc2022-11-05
| | | | Main benefit is that this will return the correct exit code by default, meaning the lengthy workarounds to properly fail a test aren't needed.
* ci: use ubuntu docker container to build appimagemliszcz2022-10-07
| | | | | | | | Switch back to Ubuntu 18.04 for buliding the appimage. This allows for using the appimage on older systems that do not provide GLIBC_2.29. Fixes #19711. Fixes #20113.
* ci(publish-winget): use versioned tags for action #20417Vedant2022-10-01
|
* ci(release): remove unnecessary matrix strategydundargoc2022-09-30
| | | | We only have one Windows release job, so the matrix setup isn't needed.
* build(macos): restore and test universal build (#20383)Christian Clason2022-09-28
| | | | Build tree-sitter parsers for arm64 as well as x86 Check that all created binaries contain both architectures
* ci(publish-winget): fix errors that prevents release (#20232)Vedant2022-09-19
|
* ci(release-winget): publish nightly winget prerelease #20209Vedant2022-09-16
|
* ci(release): move release-winget steps into release job #19689Vedant2022-08-13
|
* ci(release): build with standard gcc on UbuntuChristian Clason2022-08-09
| | | | Ubuntu-20.04 ships with GCC 10.3.0, which is enough to avoid #14150
* ci(release): bump deprecated ubuntu image to 20.04Christian Clason2022-08-09
| | | | | `ubuntu-18.04` is now deprecated and subject to outages, see https://github.blog/changelog/2022-08-09-github-actions-the-ubuntu-18-04-actions-runner-image-is-being-deprecated-and-will-be-removed-by-12-1-22/
* ci(release): use cpack on macOS #19459Carlo Cabrera2022-07-22
| | | | We use `cpack` to generate the release tarballs on Linux. Now that we don't need to bundle `libintl`, we can do the same on macOS.
* ci(windows): config and build before publish step (#19416)kylo2522022-07-18
| | | | Problem: Windows package step failed (silently). Solution: Make sure to configure cmake before attempting to build the package target.
* ci: refactor build.ps1 #19336kylo2522022-07-17
| | | | | | | | | | | | Refactor `build.ps1` into a more modular design https://github.com/neovim/neovim/blob/9728f3b558c8cf9bd2bc331de8a5cc80ba0d3797/.github/workflows/ci.yml#L283-L296 - Separate CI steps. - Remove unneeded code related to setting up CMake. - Use parallel/incremental builds. - Fix github's cache. - Clear the way for the possibility of replacing this file with a cmake-preset: https://github.com/neovim/neovim/pull/19128
* ci(release): link `gettext` include directoryCarlo Cabrera2022-06-29
| | | | | | Our previous mangling of gettext broke the `HAVE_WORKING_LIBINTL` test because it prevented CMake from finding `libintl.h`. Let's fix that by linking Gettext's `include` directory into `/usr/local` too.
* refactor(ci): cleanup release.yml #19132Vedant2022-06-28
|
* ci(release): build a universal binary on macOSCarlo Cabrera2022-06-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | After some tweaks to our dep builds, we can now build a universal binary for macOS by using `CMAKE_OSX_ARCHITECTURES`. So, let's do that. This requires a number of additional changes: 1. We need to build on macOS 11, since earlier versions do not support building universal (M1 + Intel) binaries. 2. We need to provision a universal `libintl`. The linker will look for an ARM64 version of this library when linking the `nvim` binary. While we're here: 1. Link statically to `libintl`. This allows to to avoid having to do any install name rewriting or codesigning to package Neovim. 2. Bump the `MACOSX_DEPLOYMENT_TARGET` to `11`. We're already using a `libintl` built by Homebrew (through the pre-installed version of `gettext`), and that is built for macOS 11. In order to ensure we link to `libintl.a` instead of `libintl.dylib`, we have to make sure that CMake can't find the latter. This ideally should be a matter of doing `brew unlink gettext`. However, CMake is too adept at finding things that Homebrew has installed (even when not linked), so we have to do a bit more than that. This appears in the additional step ensuring static linkage to `libintl`. We end up breaking some Homebrew-installed software in the process, and some of these software is called during our build (e.g. curl, git, wget). To avoid any adverse effects, let's just uninstall them.
* ci(release): skip CoreServices system library on macOS (#19021)Christian Clason2022-06-19
| | | | | | | | | | Problem: The release script bundles a system library (CoreServices) that was added in #18294, which leads to errors on M1 since the architecture is different from the Github runner. Solution: Skip CoreServices when bundling the libraries (as was done for the CoreFoundation library that #18294 replaced with CoreServices).