Commit Graph

158 Commits

Author SHA1 Message Date
James Rasell
fe821b4c1c github: Fix lock threads syntax and permissions (#24708)
The parameters used for the reusable action were incorrect since
the 5.0.1 update. The permissions were also incorrect as the
workflow needs to write to issues and PRs.
2024-12-18 15:29:58 +00:00
James Rasell
e3ac00f30e github: notify Slack when CI fails on merge to main/release (#24690)
This change creates a reusable workflow for notifying Slack on CI
failures. The message will include useful links and information
about the failure, so product engineers can investigate and fix
any problems.

The new workflow is used by selected workflows which trigger on
merges to main or release/* branches. The notification is only
sent on failure and when the event was a push (PR merge) meaning
the number of notifications should be minimal.

The aim is to help identify and draw attention to failure across
our release branches, in particular when automated processes
happen.
2024-12-18 08:07:44 +00:00
dependabot[bot]
614cb5c17f chore(deps): bump slackapi/slack-github-action from 1.27.0 to 2.0.0 (#24472) 2024-12-13 14:00:37 +00:00
Phil Renaud
3bc2c07821 Remove the Ember Test Audit workflow (#24637) 2024-12-10 11:25:53 -06:00
dependabot[bot]
6a41dc7b2f chore(deps): bump nanasess/setup-chromedriver from 2.2.2 to 2.3.0 (#24623)
Bumps [nanasess/setup-chromedriver](https://github.com/nanasess/setup-chromedriver) from 2.2.2 to 2.3.0.
- [Release notes](https://github.com/nanasess/setup-chromedriver/releases)
- [Commits](42cc299832...e93e57b843)

---
updated-dependencies:
- dependency-name: nanasess/setup-chromedriver
  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>
2024-12-09 14:26:24 -06:00
Michael Smithhisler
a43f46e247 ci: only cache from github hosted runners to avoid file perm issues (#24607) 2024-12-04 12:27:26 -05:00
Phil Renaud
4b91c17dfa [ui, ci] retain artifacts from test runs including test timing (#24555)
* retain artifacts from test runs including test timing

* Pinning commit hashes for action helpers

* trigger for ui-test run

* Trying to isolate down to a simple upload

* Once more with mkdir

* What if we just wrote our own test reporter tho

* Let the partitioned runs handle placement

* Filter out common token logs, add a summary at the end, and note failures in logtime

* Custom reporter cannot also have an output file, he finds out two days late

* Aggregate summary, duration, and removing failure case

* Conditional test report generation

* Timeouts are errors

* Trying with un-partitioned input json file

* Remove the commented-out lines for main-only runs

* combine-ui-test-results as its own script
2024-12-03 09:56:06 -05:00
Daniel Bennett
e963d55ea0 release: always use service user for git ops (#24546) 2024-12-02 10:58:43 -06:00
dependabot[bot]
b290e753c3 chore(deps): bump actions/setup-node from 4.0.4 to 4.1.0 (#24300)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.4 to 4.1.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](0a44ba7841...39370e3970)

---
updated-dependencies:
- dependency-name: actions/setup-node
  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>
2024-11-24 09:28:17 -05:00
Piotr Kazmierczak
ccba08a9e6 release: fix typo in the LAST_RELEASE sed regex (#24403) 2024-11-08 17:39:06 +01:00
James Rasell
155eac50e9 ci: Fix retrieving of Vault secrets for build workflow. (#24366) 2024-11-05 16:00:19 +00:00
dependabot[bot]
f75e2c276e chore(deps): bump actions/checkout from 4.2.1 to 4.2.2 (#24298) 2024-11-04 11:42:37 +00:00
dependabot[bot]
2df473c561 chore(deps): bump actions/setup-go from 5.0.2 to 5.1.0 (#24299)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 5.0.2 to 5.1.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](0a12ed9d6a...41dfa10bad)

---
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>
2024-10-28 11:26:29 +01:00
Tim Gross
6b8ddff1fa windows: set job object for executor and children (#24214)
On Windows, if the `raw_exec` driver's executor exits, the child processes are
not also killed. Create a Windows "job object" (not to be confused with a Nomad
job) and add the executor to it. Child processes of the executor will inherit
the job automatically. When the handle to the job object is freed (on executor
exit), the job itself is destroyed and this causes all processes in that job to
exit.

Fixes: https://github.com/hashicorp/nomad/issues/23668
Ref: https://learn.microsoft.com/en-us/windows/win32/procthread/job-objects
2024-10-16 09:20:26 -04:00
dependabot[bot]
294ebd1540 chore(deps): bump actions/checkout from 4.2.0 to 4.2.1 (#24183)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.0 to 4.2.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](d632683dd7...eef61447b9)

---
updated-dependencies:
- dependency-name: actions/checkout
  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>
2024-10-14 08:26:34 -05:00
dependabot[bot]
e439d6e408 chore(deps): bump actions/upload-artifact from 4.4.0 to 4.4.3 (#24184)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.4.0 to 4.4.3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](50769540e7...b4b15b8c7c)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  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>
2024-10-14 08:24:59 -05:00
Tim Gross
b7595c646d alloc fs: use case-insensitive check for reads of secret/private dir (#24125)
When using the Client FS APIs, we check to ensure that reads don't traverse into
the allocation's secret dir and private dir. But this check can be bypassed on
case-insensitive file systems (ex. Windows, macOS, and Linux with obscure ext4
options enabled). This allows a user with `read-fs` permissions but not
`alloc-exec` permissions to read from the secrets dir.

This changeset updates the check so that it's case-insensitive. This risks false
positives for escape (see linked Go issue), but only if a task without
filesystem isolation deliberately writes into the task working directory to do
so, which is a fail-safe failure mode.

Ref: https://github.com/golang/go/issues/18358

Co-authored-by: dduzgun-security <deniz.duzgun@hashicorp.com>
2024-10-03 14:20:24 -04:00
dependabot[bot]
52b2711874 chore(deps): bump actions/checkout from 4.1.7 to 4.2.0 (#24083)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.7 to 4.2.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](692973e3d9...d632683dd7)

---
updated-dependencies:
- dependency-name: actions/checkout
  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>
2024-09-30 08:11:54 -05:00
dependabot[bot]
16a7aa91cd chore(deps): bump browser-actions/setup-chrome from 1.7.1 to 1.7.2 (#24033)
Bumps [browser-actions/setup-chrome](https://github.com/browser-actions/setup-chrome) from 1.7.1 to 1.7.2.
- [Release notes](https://github.com/browser-actions/setup-chrome/releases)
- [Changelog](https://github.com/browser-actions/setup-chrome/blob/master/CHANGELOG.md)
- [Commits](db1b524c26...facf10a55b)

---
updated-dependencies:
- dependency-name: browser-actions/setup-chrome
  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>
2024-09-23 14:32:00 -04:00
dependabot[bot]
0788aebb27 chore(deps): bump actions/setup-node from 4.0.3 to 4.0.4 (#24032)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.3 to 4.0.4.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](1e60f620b9...0a44ba7841)

---
updated-dependencies:
- dependency-name: actions/setup-node
  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>
2024-09-23 11:00:01 +02:00
dependabot[bot]
4a02677d2e chore(deps): bump hashicorp/actions-packaging-linux from 1.8 to 1.9 (#24034)
Bumps [hashicorp/actions-packaging-linux](https://github.com/hashicorp/actions-packaging-linux) from 1.8 to 1.9.
- [Release notes](https://github.com/hashicorp/actions-packaging-linux/releases)
- [Commits](9a9ce39887...8d55a640bb)

---
updated-dependencies:
- dependency-name: hashicorp/actions-packaging-linux
  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>
2024-09-23 10:59:32 +02:00
Seth Hoenig
8bb94ec32d WIP: try less hard to cache go modules (#24016) 2024-09-20 09:37:13 -05:00
Seth Hoenig
68ecf67c99 ci: (ent) specify instance types when using self hosted runners (#24015) 2024-09-20 07:53:34 -05:00
dependabot[bot]
16c4b7ca19 chore(deps): bump actions/download-artifact from 4.1.7 to 4.1.8 (#23990)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-20 08:44:45 +01:00
dependabot[bot]
b71124864b chore(deps): bump slackapi/slack-github-action from 1.26.0 to 1.27.0 (#23991)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-19 13:04:44 +01:00
dependabot[bot]
29a5edb4c9 chore(deps): bump actions/upload-artifact from 4.3.3 to 4.4.0 (#23994)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.3 to 4.4.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](65462800fd...50769540e7)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  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>
2024-09-19 09:20:24 +02:00
dependabot[bot]
287a4c0789 chore(deps): bump actions/setup-node from 4.0.2 to 4.0.3 (#23992)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.2 to 4.0.3.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](60edb5dd54...1e60f620b9)

---
updated-dependencies:
- dependency-name: actions/setup-node
  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>
2024-09-19 09:19:52 +02:00
dependabot[bot]
518f9c6505 chore(deps): bump actions/setup-go from 5.0.1 to 5.0.2 (#23989) 2024-09-19 07:56:05 +01:00
Deniz Onur Duzgun
52f0b40f4c security: fine tune security-scanner to reduce false-positives (#20465)
Resolve scan job runner

Resolve linting alerts

adding EOF on files

adding EOF on gitignore too

add hclfmt and bump action versions

update scan.hcl comments

Co-authored-by: Tim Gross <tgross@hashicorp.com>

fix typo

move scan.hcl file and paths-ignore for scans

change action runner

use org secret to checkout

typo

change runner

use hashicorp/setup-golang@v3

Co-authored-by: Tim Gross <tgross@hashicorp.com>

pin the github action sha
2024-09-18 16:55:39 -04:00
Seth Hoenig
0bcfd9a266 build: apt update before apt install (#23806) 2024-08-14 08:58:15 -05:00
Piotr Kazmierczak
7772711c89 plugins: fix nomadTopologyToProto panic on systems that don't support NUMA (#23399)
After changes introduced in #23284 we no longer need to make a if
!st.SupportsNUMA() check in the GetNodes() topology method. In fact this check
will now cause panic in nomadTopologyToProto method on systems that don't
support NUMA.
2024-07-09 08:41:52 +02:00
Charlie Voiselle
9bdaab4f9c [actions] Update projects GitHub actions (#23483)
* Updated actions

* actions/checkout v4.1.1 ==> v4.1.7
* actions/download-artifact v3.0.2 ==> v4.1.7
* actions/setup-go v4.0.1 ==> v5.0.1
* actions/setup-node v3.7.0 ==> v4.0.2
* actions/upload-artifact v3.1.2 ==> v4.3.3
* andstor/file-existence-action v2.0.0 ==> v3.0.0
* browser-actions/setup-chrome v1.2.0 ==> v1.7.1
* dessant/lock-threads v4.0.1 ==> v5.0.1
* marocchino/sticky-pull-request-comment v2.6.2 ==> v2.9.0
* mshick/add-pr-comment v2.8.1 ==> v2.8.2
* nanasess/setup-chromedriver v2.1.2 ==> v2.2.2
* slackapi/slack-github-action v1.24.0 ==> v1.26.0

* Update HashiCorp actions

* hashicorp/actions-docker-build v1 ==> v2.0.0
* hashicorp/actions-generate-metadata v1.1.1 ==> v1.1.1(pinned)
* hashicorp/actions-packaging-linux v1 ==> v1.8.0
* hashicorp/setup-copywrite v1.1.2 ==> v1.1.3

* fix parameter
2024-07-01 22:32:10 -04:00
Tim Gross
eedbd36fef qemu: pass task resources into driver for cgroup setup (#23466)
As part of the work for 1.7.0 we moved portions of the task cgroup setup down
into the executor. This requires that the executor constructor get the
`TaskConfig.Resources` struct, and this was missing from the `qemu` driver. We
fixed a panic caused by this change in #19089 before we shipped, but this fix
was effectively undo after we added plumbing for custom cgroups for `raw_exec`
in 1.8.0. As a result, running `qemu` tasks always fail on Linux.

This was undetected in testing because our CI environment doesn't have QEMU
installed. I've got all the unit tests running locally again and have added QEMU
installation when we're running the drivers tests.

Fixes: https://github.com/hashicorp/nomad/issues/23250
2024-07-01 11:41:10 -04:00
Piotr Kazmierczak
cc01c09f8b windows: remove winappcontainer and winexec helpers (#23448)
This removes helper winappcontainer and winexec helper code, since it is no longer needed after #23432
2024-06-28 18:49:56 +02:00
Matt McQuillan
9224da6bf1 change to sync on only the GitHub link 2024-06-26 10:33:56 -04:00
Matt McQuillan
7ccef279ef removing 'test' from sync name 2024-06-26 10:31:01 -04:00
James Rasell
54115a1b37 github: use larger instance type for prepare-release release step. (#23374) 2024-06-18 14:36:40 +01:00
Matt McQuillan
55edc0289a Update .github/workflows/jira-sync.yml
From linting, quoting the env var

Co-authored-by: Tim Gross <tgross@hashicorp.com>
2024-06-10 15:16:58 -04:00
Matt McQuillan
6af76c02d1 Adding GHA workflow to sync with Jira 2024-06-10 13:44:49 -04:00
Tim Gross
34f34440ac build: remove 32-bit ARM builds (#23189)
We no longer intend to release 32-bit builds for any platform. We'd previously
removed the builds for i386 on both Linux and Windows, but never got around to
removing the ARM builds. Add a note about this deprecation in the release notes
for 1.8.x.
2024-06-05 15:47:20 -04:00
claire labry
e9d6c39dba SMRE/BPA Onboarding LTS (#20595)
Configuration changes to use backport assistant with LTS support. These include:

* adding a manifest file for active releases
* adding configuration to send backport to ENT repo
2024-05-17 08:21:42 -04:00
Dianne Laguerta
cabdd7eddb migrate GHA workflows to using single runner labels (#20581) 2024-05-16 13:35:10 +01:00
Daniel Bennett
bd802e43d0 add LICENSE to release artifacts (#20345)
* add LICENSE(.txt) to zip that goes on releases.hashicorp.com
* add LICENSE(.txt) to linux packages and docker image
* add some more docker labels (including license)
2024-04-12 10:57:15 -05:00
Seth Hoenig
06a4fcb7d5 build: update the actions/checkout version (#20067) 2024-03-04 13:01:38 -06:00
Seth Hoenig
a66f7ba888 ci: update macos runners to macos-14 (apple silicon) (#20054) 2024-02-29 14:31:59 -06:00
Tim Gross
df86503349 template: sandbox template rendering
The Nomad client renders templates in the same privileged process used for most
other client operations. During internal testing, we discovered that a malicious
task can create a symlink that can cause template rendering to read and write to
arbitrary files outside the allocation sandbox. Because the Nomad agent can be
restarted without restarting tasks, we can't simply check that the path is safe
at the time we write without encountering a time-of-check/time-of-use race.

To protect Nomad client hosts from this attack, we'll now read and write
templates in a subprocess:

* On Linux/Unix, this subprocess is sandboxed via chroot to the allocation
  directory. This requires that Nomad is running as a privileged process. A
  non-root Nomad agent will warn that it cannot sandbox the template renderer.

* On Windows, this process is sandboxed via a Windows AppContainer which has
  been granted access to only to the allocation directory. This does not require
  special privileges on Windows. (Creating symlinks in the first place can be
  prevented by running workloads as non-Administrator or
  non-ContainerAdministrator users.)

Both sandboxes cause encountered symlinks to be evaluated in the context of the
sandbox, which will result in a "file not found" or "access denied" error,
depending on the platform. This change will also require an update to
Consul-Template to allow callers to inject a custom `ReaderFunc` and
`RenderFunc`.

This design is intended as a workaround to allow us to fix this bug without
creating backwards compatibility issues for running tasks. A future version of
Nomad may introduce a read-only mount specifically for templates and artifacts
so that tasks cannot write into the same location that the Nomad agent is.

Fixes: https://github.com/hashicorp/nomad/issues/19888
Fixes: CVE-2024-1329
2024-02-08 10:40:24 -05:00
Tim Gross
334c383eb6 template: run template tests on Windows where possible (#19856)
We don't run the whole suite of unit tests on all platforms to keep CI times
reasonable, so the only things we've been running on Windows are
platform-specific.

I'm working on some platform-specific `template` related work and having these
tests run on Windows will reduce the risk of regressions. Our Windows CI box
doesn't have Consul or Vault, so I've skipped those tests for the time being,
and can follow up with that later. There's also a test with assertions looking
for specific paths, and the results are different on Windows. I've skipped those
for the moment as well and will follow up under a separate PR.

Also swap `testify` for `shoenig/test`
2024-02-02 09:22:03 -05:00
Seth Hoenig
0c08f94c8e build: use setup-golang@v3 to handle auto caching (#19707)
* wip: try on branch

* build: use setup-golang@v3 to handle auto caching
2024-01-11 08:51:56 -06:00
Seth Hoenig
23e5ffbfd0 build: bump setup-golang action version to v2 (#19568) 2024-01-02 09:41:50 -06:00
Phil Renaud
12e43aa07f Re-add wildcard for test-ui path restrictions (#19085) 2023-11-14 11:28:53 -05:00