13 Commits

Author SHA1 Message Date
Alex Chernyakhovsky 5f5d35c7a8 Run apt update before apt install 2026-02-27 16:44:02 -05:00
Alex Chernyakhovsky 59e3aa96c7 Upgrade ubuntu runners (+2y) 2026-02-23 17:42:45 -05:00
Andrew Chin dc530362bf Update to v4 of the upload artifact action
https://github.blog/changelog/2024-04-16-deprecation-notice-v3-of-the-artifact-actions/
2025-12-06 09:24:15 -05:00
Alex Chernyakhovsky 1105d481bb Run clang-format lint on pull requests 2023-08-07 22:11:46 -04:00
Alex Chernyakhovsky d5da710c02 Update ubuntu runner images
ubuntu-18.04 is no longer available on Github Actions; replace it with
ubuntu-22.04.
2023-07-30 16:52:57 -04:00
David Korczynski c516fb4256 Add github action for CIFuzz integration
Signed-off-by: David Korczynski <david@adalogics.com>
2022-11-20 16:06:53 -10:00
Alex Chernyakhovsky 3afba8985c Actually evaluate the github actions contains() expression for prerelease 2022-08-03 15:41:12 -10:00
Alex Chernyakhovsky 850c1f0955 Fetch forcibly while fetching tags
`git fetch --tags --unshallow`, run as part of the CI for `git
describe` to do the right thing, ran into the error:

```
 ! [rejected]        mosh-1.4.0-rc0   -> mosh-1.4.0-rc0  (would clobber existing tag)
```

This is because mosh uses annotated tags, whereas the initial fetch
command run by actions/checkout@v2 ends up creating an *unannotated*
tag of the same name.

This means that any time the release CI runs, it would fail.

The resolution is straightforward: --force so that the line becomes

```
 t [tag update]      mosh-1.4.0-rc0 -> mosh-1.4.0-rc0
```

and the annotation is brought in.
2022-08-03 15:22:36 -10:00
Alex Chernyakhovsky 4cd2da5202 Switch macOS multi-arch to x86_64+arm64
The previous CI attemtped to use Homebrew for builds, but
unfortunately Homebrew has dropped support for universal packages aka
multiarch (fat) binaries. This means that in order to build an arm64 +
x86_64 package, macports has to be used instead of homebrew.

Unlike Homebrew, MacPorts is not installed by default on the GitHub
Actions runners, so we need to install it ourselves. This means
managing our own instance of the cache, which itself produces
challenges as the `gtar` binary run by the action doesn't have enough
permissions to restore the MacPorts checkout. So we have to shim gtar
with a sudo wrapper.

With this commit, we produce a Mosh package that works on macOS 11.0
and newer, on both arm64 and x86_64 architectures. The protobuf
library is statically linked, but all other libraries are provided by
the system.
2022-08-03 13:52:18 -10:00
Alex Chernyakhovsky 7f0c3a4162 Add macOS release steps to Github Actions
This change ports the Travis CI release workflow for macOS to Github
Actions. Note that while this is functionally identical to the
previous Travis CI flow, no work has been done to update the macOS
build scripts to build for arm64.
2022-07-11 21:21:18 -04:00
Alex Chernyakhovsky f0b0108c85 Add release action on Linux
This Github Actions workflow uses a Linux-based running to create the
release tarball for mosh. This is necessary since mosh does not check
in the autoconf/automake generated files, so the default release
action source download is missing files that are needed for
distributions that use the upstream-provided ./configure script.
2022-07-11 21:21:18 -04:00
Alex Chernyakhovsky e5e62b4c76 Add nettle to the CI matrix 2022-06-27 13:46:18 -10:00
Wolfgang E. Sanyer 179e1d9f56 Add github action for CI build
Signed-off-by: Wolfgang E. Sanyer <WolfgangSanyer@Google.com>
2022-02-04 11:08:30 -05:00