Commit graph

33 commits

Author SHA1 Message Date
Luke Heath
91db043094
Use go variable to set version in workflows (#14890) 2023-11-03 09:42:27 -05:00
Roberto Dip
ad9e30f120
Update Go to v1.21.3 (#14634)
for #14633
2023-10-19 10:01:05 -03:00
Luke Heath
1e1e28791f
Document milestone release ritual (#13932) 2023-09-25 14:35:36 -05:00
Roberto Dip
ea6b59f179
upgrade Go version to 1.21.1 (#13877)
For #13715, this:

- Upgrades the Go version to `1.21.1`, infrastructure changes are
addressed separately at https://github.com/fleetdm/fleet/pull/13878
- Upgrades the linter version, as the current version doesn't work well
after the Go upgrade
- Fixes new linting errors (we now get errors for memory aliasing in
loops! 🎉 )

After this is merged people will need to:

1. Update their Go version. I use `gvm` and I did it like:

```
$ gvm install go1.21.1
$ gvm use go1.21.1 --default
```

2. Update the local version of `golangci-lint`:

```
$ go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.54.2
```

3. (optional) depending on your setup, you might need to re-install some
packages, for example:

```
# goimports to automatically import libraries
$  go install golang.org/x/tools/cmd/goimports@latest

# gopls for the language server
$ go install golang.org/x/tools/gopls@latest

# etc...
```
2023-09-13 15:59:35 -03:00
Roberto Dip
5ad734d617
upgrade go to v1.19.12 (#13617) 2023-08-31 13:49:24 -05:00
Luke Heath
204f082fe5
Pin all workflow actions versions by commit (#13462) 2023-08-31 12:09:21 -05:00
Roberto Dip
d9de78e9fc
upgrade Go version to 1.19.11 (#12902) 2023-07-26 11:09:22 -07:00
dependabot[bot]
0730246723
Bump actions/setup-go from 2.1.3 to 4.0.1 (#12294)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 2.1.3
to 4.0.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/setup-go/releases">actions/setup-go's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Update documentation for <code>v4</code> by <a
href="https://github.com/dsame"><code>@​dsame</code></a> in <a
href="https://redirect.github.com/actions/setup-go/pull/354">actions/setup-go#354</a></li>
<li>Fix glob bug in the package.json scripts section by <a
href="https://github.com/IvanZosimov"><code>@​IvanZosimov</code></a> in
<a
href="https://redirect.github.com/actions/setup-go/pull/359">actions/setup-go#359</a></li>
<li>Bump <code>xml2js</code> dependency by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-go/pull/370">actions/setup-go#370</a></li>
<li>Bump <code>@actions/cache</code> dependency to v3.2.1 by <a
href="https://github.com/nikolai-laevskii"><code>@​nikolai-laevskii</code></a>
in <a
href="https://redirect.github.com/actions/setup-go/pull/374">actions/setup-go#374</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/nikolai-laevskii"><code>@​nikolai-laevskii</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-go/pull/374">actions/setup-go#374</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-go/compare/v4...v4.0.1">https://github.com/actions/setup-go/compare/v4...v4.0.1</a></p>
<h2>v4.0.0</h2>
<p>In scope of release we enable cache by default. The action won’t
throw an error if the cache can’t be restored or saved. The action will
throw a warning message but it won’t stop a build process. The cache can
be disabled by specifying <code>cache: false</code>.</p>
<pre lang="yaml"><code>steps:
  - uses: actions/checkout@v3
  - uses: actions/setup-go@v4
    with:
      go-version: ‘1.19’
  - run: go run hello.go
</code></pre>
<p>Besides, we introduce such changes as</p>
<ul>
<li><a
href="https://redirect.github.com/actions/setup-go/pull/305">Allow to
use only GOCACHE for cache</a></li>
<li><a href="https://redirect.github.com/actions/setup-go/pull/315">Bump
json5 from 2.2.1 to 2.2.3</a></li>
<li><a href="https://redirect.github.com/actions/setup-go/pull/323">Use
proper version for primary key in cache</a></li>
<li><a
href="https://redirect.github.com/actions/setup-go/pull/351">Always add
Go bin to the PATH</a></li>
<li><a href="https://redirect.github.com/actions/setup-go/pull/350">Add
step warning if go-version input is empty</a></li>
</ul>
<h2>Add support for stable and oldstable aliases</h2>
<p>In scope of this release we introduce aliases for the
<code>go-version</code> input. The <code>stable</code> alias instals the
latest stable version of Go. The <code>oldstable</code> alias installs
previous latest minor release (the stable is 1.19.x -&gt; the oldstable
is 1.18.x).</p>
<h3>Stable</h3>
<pre lang="yaml"><code>steps:
  - uses: actions/checkout@v3
  - uses: actions/setup-go@v3
    with:
      go-version: 'stable'
  - run: go run hello.go
</code></pre>
<h3>OldStable</h3>
<pre lang="yaml"><code>steps:
  - uses: actions/checkout@v3
  - uses: actions/setup-go@v3
&lt;/tr&gt;&lt;/table&gt; 
</code></pre>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="fac708d667"><code>fac708d</code></a>
Bump <code>@​actions/cache</code> dependency to v3.2.1 (<a
href="https://redirect.github.com/actions/setup-go/issues/374">#374</a>)</li>
<li><a
href="dd84a9531a"><code>dd84a95</code></a>
Update xml2js (<a
href="https://redirect.github.com/actions/setup-go/issues/370">#370</a>)</li>
<li><a
href="41c2024c46"><code>41c2024</code></a>
Fix glob bug in package.json scripts section (<a
href="https://redirect.github.com/actions/setup-go/issues/359">#359</a>)</li>
<li><a
href="8dbf352f06"><code>8dbf352</code></a>
update README fo v4 (<a
href="https://redirect.github.com/actions/setup-go/issues/354">#354</a>)</li>
<li><a
href="4d34df0c23"><code>4d34df0</code></a>
Update configuration files (<a
href="https://redirect.github.com/actions/setup-go/issues/348">#348</a>)</li>
<li><a
href="fdc0d672a1"><code>fdc0d67</code></a>
Add Go bin if go-version input is empty (<a
href="https://redirect.github.com/actions/setup-go/issues/351">#351</a>)</li>
<li><a
href="ebfdf6ac95"><code>ebfdf6a</code></a>
add warning if go-version is empty (<a
href="https://redirect.github.com/actions/setup-go/issues/350">#350</a>)</li>
<li><a
href="b27d76912e"><code>b27d769</code></a>
fix lockfileVersion (<a
href="https://redirect.github.com/actions/setup-go/issues/349">#349</a>)</li>
<li><a
href="c51a720768"><code>c51a720</code></a>
Enable caching by default with default input (<a
href="https://redirect.github.com/actions/setup-go/issues/332">#332</a>)</li>
<li><a
href="6b848af622"><code>6b848af</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/setup-go/issues/343">#343</a>
from akv-platform/reusable-workflow</li>
<li>Additional commits viewable in <a
href="https://github.com/actions/setup-go/compare/v2.1.3...v4.0.1">compare
view</a></li>
</ul>
</details>
<br />

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-23 12:38:42 -07:00
Roberto Dip
ab9ac28538
upgrade go version to 1.19.10 (#12187)
for #12177
2023-06-07 17:59:30 -03:00
KanchiMoe
9e9fd633c7
Update 'install go' Github Actions to use tag as it uses deprecated commands (#11408)
At the moment, in Github Actions, when a job has `uses:
actions/setup-go` it uses a specific commit from that repo.

In that commit, it used `set-output` somewhere, which is now deprecated
and will be disabled within the next month or so.

See here for more information:
https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

This PR changes every instance where `actions/setup-go@...` was used and
replaces it with release `v2.1.3`. [From the release
notes](https://github.com/actions/setup-go/releases/tag/v2.1.3):

> Updated communication with runner to use environment files rather then
workflow commands

Which is what the above Github blog recommends doing.

---

Addationally, the latest version of this Github Action is
[`v4.0.0`](https://github.com/actions/setup-go/releases/tag/v4.0.0),
which you may want to update to in the future.
2023-05-17 15:56:16 -05:00
Zach Wasserman
1a521133f4
Upgrade Go version to 1.19.8 (#11057)
# Checklist for submitter

If some of the following don't apply, delete the relevant line.

- [x] Changes file added for user-visible changes in `changes/` or
`orbit/changes/`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#changes-files)
for more information.
2023-04-07 12:05:22 -07:00
Tomas Touceda
71dbb71df4
Update go to 1.19.4 (#8945)
* Update go to 1.19.4

* Comment out failing package test

* Comment out ALL the packaging tests for windows for the moment

* Update go to 1.19.4

* Comment out failing package test

* Comment out ALL the packaging tests for windows for the moment

* Update changelog

* Bump versions

* Update changelog to reflect this being a security release
2022-12-09 11:47:17 -03:00
Zach Wasserman
efbe4c0777
Update Go to 1.19.3 (#8525) (#8614)
Co-authored-by: Tomas Touceda <chiiph@gmail.com>
2022-11-08 13:03:23 -03:00
Michal Nicpon
56f3cb62ef
add concurrency to ci (#8271)
* add concurrency to ci

* add readme for workflows
2022-10-24 14:01:00 -06:00
dependabot[bot]
35ae71502f
Bump actions/setup-go from 3.2.1 to 3.3.0 (#7470)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 3.2.1 to 3.3.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](84cbf80943...268d8c0ca0)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-10 18:55:13 -03:00
Michal Nicpon
9056b22874
set default shell in workflows (#8108)
* wait for mysql in workflows
2022-10-07 09:43:56 -06:00
Tomas Touceda
8457e55b53
Bump go to 1.19.1 (#7690)
* Bump go to 1.19.1

* Bump remaining go-version to the 1.19.1

* Add extra paths for test-go

* Oops, putting the right path in the right place

* gofmt file

* gofmt ALL THE THINGS

* Moar changes

* Actually, go.mod doesn't like minor versions
2022-09-12 20:32:43 -03:00
dependabot[bot]
200ddfaaff
Bump actions/checkout from 2 to 3.0.2 (#7301)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.0.2.
- [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/v2...2541b1294d2704b0964813337f33b291d3f8596b)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-31 07:44:22 -03:00
Roberto Dip
715f320be1
reduce scope in which packaging and preview actions are run (#7429) 2022-08-29 15:38:30 -03:00
Roberto Dip
3d75ddcdc2
increase the CI timeout to install Docker on macOS (#7430)
in #7399 we reduced the timeout to 10 minutes, however there are multiple timing out and failing on main on the install docker step.
2022-08-29 12:50:16 -03:00
Michal Nicpon
f7b394b1a3
fix brew install warning (#7399) 2022-08-25 15:26:02 -06:00
Roberto Dip
e40c5b02c1
lock Docker version to 4.10.0 on macOS runners (#7082)
The macOS runners installing Docker are having problems initializing the new Docker version (4.11.0) which effectively blocks PRs with Go code.

This locks the Docker version we install to 4.10.0, which works until we figure out a solution or a new Docker version goes out.
2022-08-05 14:21:54 -03:00
dependabot[bot]
ec31f523eb
Bump actions/setup-go from 3.2.0 to 3.2.1 (#6590)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 3.2.0 to 3.2.1.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](b22fbbc292...84cbf80943)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-18 14:24:51 -03:00
Roberto Dip
f7dd8c86cd
implement a docker image to package orbit natively in Linux (#6504)
Related to #6364 and #6363, this:

- Adds a new Docker image, `fleetdm/fleetctl` equipped with all necessary dependencies to build Fleet-osquery binaries for all platforms
- Modifies the package generation logic to special case this scenario via an environment variable `FLEETCTL_NATIVE_TOOLING`
- Adds a new GitHub workflow to test this

There are more details in the README, but part of the special-casing logic is in place to output the binaries to a folder named `build` when they are run with `FLEETCTL_NATIVE_TOOLING`, this is so we can persist the binary generated by the docker container via a bind mount:

```bash
docker run -v "$(pwd):/build" fleetdm/fleetctl package --type=msi
```

To test this changeset, I have generated packages for all platforms, both via the new Docker image and via the classic `fleetctl package`.
2022-07-11 09:49:13 -03:00
Lucas Manuel Rodriguez
4cfeaa1580
Do not use golangci action for better reproducibility (use make lint-go) (#6175)
* Do not use golangci action for better reproducibility

* Add fix to trigger build

* Fix all reported issues

* fix more lint errors

* Add missing import

* Remove unused method

* Remove change not necessary
2022-06-10 18:52:24 -03:00
dependabot[bot]
de3e19e52f
Bump actions/setup-go from 3.0.0 to 3.2.0 (#5917)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 3.0.0 to 3.2.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](f6164bd8c8...b22fbbc292)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-31 10:13:26 -03:00
Lucas Manuel Rodriguez
5527cf3cef
Add --fleet-desktop to linux packaging on test-integration.yml (#5926)
* Add --fleet-desktop to linux packaging on test-integration.yml

* Fix --fleet-desktop flag
2022-05-31 07:14:59 -03:00
Lucas Manuel Rodriguez
77f3513020
Add fleet-desktop test to test-packaging.yml (#5289)
* Add fleet-desktop test to test-packaging.yml

* Add itself to be able to trigger action

* Use stable

* Add --fleet-desktop flag to integration.yml
2022-04-25 10:21:00 -03:00
dependabot[bot]
45e9b18b5e
Bump actions/setup-go from 2 to 3 (#5215)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 2 to 3.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v2...f6164bd8c8acb4a71fb2791a8b6c4024ff038dab)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-19 16:51:42 -07:00
Guillaume Ross
b94972351f
Adding permissions to some workflows (#4698)
* Adding permissions to docs.yml and integration.yml

* Update codeql-analysis.yml

Adding top level read permissions to codeql workflow

* Update codeql-analysis.yml

Adding manual dispatch to codeql - to be able to test it easier

* Update deploy-fleet-website.yml

Adding top level read permission + write in the job so it can push the website

* Update test-website.yml

test-website should only need read permissions on content.

* Update fleet-and-orbit.yml

Testing Fleet and Orbit should be fine with top level read access

* Update fleetctl-preview.yml

fleetctl-preview should be fine with just read access at top level

* Update push-osquery-perf-to-ecr.yml

ECR is out of github so read permissions should be enough

* Update semgrep-analysis.yml

semgrep should only need read

* Update test-packaging.yml

Should only need read permission - setting on top

* Update test.yml

Should not need any write access - setting to READ on top.

* Update deploy-fleet-website.yml

Removing git write permission - since this pushes to Heroku not GitHub

* Tweaked as per Zach's comments

Removed some useless restrictions (contents none on a public repo for example)

* Removed meaningless permissions

contents: none - this does not have any security advantage on a public repo
2022-03-25 14:19:42 -04:00
Guillaume Ross
62d3b9145f
4620 pin action dependencies (#4622)
* Update build-binaries.yaml

Pin action versions + add read only token to build-binaries.yaml

* Update codeql-analysis.yml

Pin dependencies with hash for codeql-analysis.yml

* Update deploy-fleet-website.yml

Pin dependencies in deploy-fleet-website.yml

* Update docs.yml

Pin dependencies for docs.yml

* Update fleet-and-orbit.yml

Pinning dependencies for fleet-and-orbit.yml

* Update generate-osqueryd-app-tar-gz.yml

Pin dependencies for generate-osqueryd-app-tar-gz.yml

* Pin dependencies in goreleaser workflows

Pinned dependencies in the 3 goreleaser workflows

* Update integration.yml

Pinned dependencies with hash

* Update pr-helm.yaml

Pinned dependencies with hash

* Update push-osquery-perf-to-ecr.yml

Pinned dependencies with a hash

* Update release-helm.yaml

Pinned one dependency with a hash

* Update semgrep-analysis.yml

Pinned dependencies with hashes

* Update test-go.yaml

Pinned dependencies with hash

* Update test-packaging.yml

Pinned dependencies with hashes

* Update test-website.yml

Pinned dependencies with hashes

* Update test.yml

Pinned dependencies with hashes
2022-03-16 15:42:28 -04:00
Guillaume Ross
8700fc6498
Go 1.17.8 (#4560)
* Go 1.17.8

* Enforcing go minimum 1.17.8

Bumping minimum version in a few more files
2022-03-16 14:56:58 -04:00
Zach Wasserman
8dc34be3a3
Updates and fixes for packaging (#2682)
- Fix Windows MSI generation by changing permissions (#2655).
- Refactor temp directory initialization.
- Use root user for Wine in WiX Docker container.
- Support .pkg packaging on Linux without dependencies (besides Docker)
2021-10-27 16:17:41 -07:00