Commit Graph

43 Commits

Author SHA1 Message Date
Nashwan Azhari
2e53c0ec8d Windows integration: fix critest binary path in Azure-based workflow.
The critest binary build directory has changed following
kubernetes-sigs/cri-tools#1085 to also include the OS and architecture,
so the Azure-based Windows workflows needed to be updated to account for
the new path.

Signed-off-by: Nashwan Azhari <nazhari@cloudbasesolutions.com>
2023-05-02 19:15:56 +03:00
Nashwan Azhari
811be6085f Update Azure-based Windows workflow image SKUs.
Signed-off-by: Nashwan Azhari <nazhari@cloudbasesolutions.com>
2023-04-07 13:42:30 +03:00
Austin Vazquez
8c035d3873 Resolve warnings in Windows GitHub Actions periodic workflows
Upgrade actions/github-script from v3 to v6 to resolve Node.js 12
and `set-output` command warnings.
Upgrade google-github-actions/upload-cloud-storage from v0.8.0 to
v0.10.4 to resolve `set-output` command warnings.
Upgrade actions/checkout from v2 to v3 to resolve Node.js 12 warnings.
Remove references to `set-output` command from workflow.

Signed-off-by: Austin Vazquez <macedonv@amazon.com>
2022-11-23 03:34:55 +00:00
Craig Ingram
a270d6e8ae
Harden GITHUB_TOKEN permissions
Signed-off-by: Craig Ingram <cjingram@google.com>
2022-11-01 10:56:38 -04:00
Austin Vazquez
be3987a92d Migrate away from GitHub actions set-output
Migrate from set-output call to write to new GITHUB_OUTPUT environment
file.

Signed-off-by: Austin Vazquez <macedonv@amazon.com>
2022-10-24 22:48:42 +00:00
Maksym Pavlenko
4839f1bdff Add timeouts to all CI jobs
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2022-10-15 17:04:57 -07:00
Phil Estes
e7c8a5ab08
Move up actions versions to prep for deprecation
Signed-off-by: Phil Estes <estesp@amazon.com>
2022-10-12 15:17:27 -04:00
Paco Xu
9525b3148a migrate from k8s.gcr.io to registry.k8s.io
Signed-off-by: Paco Xu <paco.xu@daocloud.io>
2022-08-24 13:46:46 +08:00
Nashwan Azhari
7002fc2c47 Ensure Windows Periodic workflow errors out while still uploading results.
This patch aims to ensure that any test failures in the Windows Periodic
workflow will lead to the workflow being marked as failed (red) while still
processing/uploading the JUnit result files to GCloud for them to show
up in testgrid.

Signed-off-by: Nashwan Azhari <nazhari@cloudbasesolutions.com>
2022-06-20 20:46:49 +03:00
Nashwan Azhari
09c2c2a753 Pass explicit JUnit outfile to critest.exe in Windows workflow.
Following kubernetes-sigs/cri-tools#910 the Ginkgo reporters are left
configured with default settings and thus do not generate a JUnit report
file unless we explicitly pass a path for the outfile in the Windows
workflow when calling critest.exe.

Signed-off-by: Nashwan Azhari <nazhari@cloudbasesolutions.com>
2022-05-09 19:42:22 +03:00
Nashwan Azhari
7e70ad9fb5 Pin upload-cloud-storage action to 0.8.0 in Windows workflow.
Pin the version of the `google-github-actions/upload-cloud-storage`
action library to `0.8.0` to avoid a regression which prevents
test results being uploaded in the Windows periodic workflow.

Signed-off-by: Nashwan Azhari <nazhari@cloudbasesolutions.com>
2022-04-08 14:15:02 +03:00
Gabriel Adrian Samfira
16fbbaeeea
Skip flaky test on Windows
The tty test fails on ltsc2022. Disable that test until we manage to
reproduce and fix it.

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2022-04-05 16:43:48 +03:00
Gabriel Adrian Samfira
c7bdcdfbef
Address some timeout issues in the Windows CI
This change disables Windows Defender real-time monitoring on the test
workers, and increases the test timeout to 20 minutes (default is 10).

The Windows Defender real time monitoring feature scans any newly
created files for malitious contents. This takes up a lot of CPU when
expanding image archives, which contain lots of files. The CI has been
timing out due to the fact that tests take longer than 10 minutes. This
change should address that issue.

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2022-04-01 14:02:20 +03:00
Paul "TBBle" Hampson
88de65112a Don't build a second copy of containerd-shim-runhcs-v1.exe
`make binaries` already builds containerd-shim-runhcs-v1.exe next to
containerd.exe, so there's no need to spend time checking out and
building it again.

Signed-off-by: Paul "TBBle" Hampson <Paul.Hampson@Pobox.com>
2022-03-11 20:36:56 +11:00
Phil Estes
b0075c98d5
Merge pull request #6601 from gabriel-samfira/set-lates-image-tag
Use the latest tag for azure images
2022-03-08 12:50:29 -05:00
Gabriel Adrian Samfira
718adfe06b
Use the latest image for Windows test workers
This updates the Windows test worker images to the latest one available
in Azure. The updated images contain security and bug fixes.

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2022-03-08 14:55:44 +02:00
Paul "TBBle" Hampson
5b78a9a8f1 Remove hardcoded /tmp in tempfile paths
There's no specific need mentioned at the points it was added, and it
makes the Windows-hosted test run setup slightly weird.

Signed-off-by: Paul "TBBle" Hampson <Paul.Hampson@Pobox.com>
2022-03-06 17:32:25 +11:00
Gabriel Adrian Samfira
4cd9f37f56
Fix windows periodic workflow
This change addresses the following issues:

  * Fix fetching the public IP of the windows instance.
  * Fix generation of repolist.toml.
  * Resource cleanup is now run even if tests fail.

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2022-01-25 21:54:16 +02:00
Nashwan Azhari
9197971638 Integration: Switch to upload-cloud-storage Gcloud action.
Switch to using the new `google-github-actions/upload-cloud-storage`
GitHub action for uploading the CI results for the Windows Periodic
Tests.

Signed-off-by: Nashwan Azhari <nazhari@cloudbasesolutions.com>
2022-01-12 03:02:33 +02:00
Nashwan Azhari
8a2b61356d Integration: Switch to using auth Gcloud action in Windows workflow.
Following the forking of `github-google-actions/setup-gcloud` into
individual actions, the functionality for authenticating on Google
Cloud within GitHub workflows has been moved to the
`github-google-actions/auth` action.

This patch updates the Windows Periodic Integration test workflow to use
the new `auth` action, as well as switching to using Workload Identity
Federation-based authorization which is superseding the Service Account
Key-based authorization the Windows Periodic workflow was using thus far.

Signed-off-by: Nashwan Azhari <nazhari@cloudbasesolutions.com>
2022-01-12 03:02:17 +02:00
Nashwan Azhari
f99e923592 Enable critest tests on Windows Server 2022.
Signed-off-by: Nashwan Azhari <nazhari@cloudbasesolutions.com>
2022-01-10 11:13:19 +02:00
Nashwan Azhari
55b89eabf5 Parametrize CRITest test images in Windows Periodic workflow.
This patch makes the Windows Periodic workflow pass specific test images
to CRITest. This will allow full control over the container images used
in workflow runs as opposed to relying on the hardcoded defaults in
`cri-tools` to be compatible with all the tested Windows releases.

Depends-On: https://github.com/kubernetes-sigs/cri-tools/pull/855

Signed-off-by: Nashwan Azhari <nazhari@cloudbasesolutions.com>
2022-01-10 11:13:19 +02:00
Phil Estes
1b8af3752d
Merge pull request #6292 from aznashwan/windows-integration-conditional-artefact-upload
Integration: Check GCP secrets on Windows CI artifact upload.
2022-01-05 12:37:40 -05:00
Nashwan Azhari
90426378e3 Integration: Check GCP secrets on Windows CI artifact upload.
This patch makes the Windows Integration GitHub workflow conditionally
execute the CI artifact upload to GCP on successful runs iff the GitHub
secrets containing the GCP access info are defined.

Signed-off-by: Nashwan Azhari <nazhari@cloudbasesolutions.com>
2021-12-27 19:15:46 +02:00
Kevin Parsons
e0a433abfb
Merge pull request #6347 from gabriel-samfira/fix-windows-test-setup
cri-integration: Add Windows defaults and fix spaces issue
2021-12-17 11:49:03 -08:00
Gabriel Adrian Samfira
78ad7a2d3a
cri-integration: Add Windows default paths
This change adds the following:

  * Default paths to REPORT_DIR, CONTAINERD_STATE and
CONTAINERD_ROOT for Windows
  * Removes the need for nssm on Windows. The nssm service
has issues dealing with paths that contain spaces. Also, the
containerd binary is perfectly capable of registering itself
as a service in Windows, and Windows itself can take care of
any failure handling of the service. NSSM is useful for binaries
that do not have any kind of Windows service logic built into
them. That is not the case of containerd.
  * Use wrapper functions that run containerd, ctr and criclt
with properly quoted paths to pipes, sockets, state and root dirs.
Currently, if the state and root dirs contain spaces in them, the
command line flags on both Windows and Linux are not properly set.
The wrapper functions will allow us to use the readiness_check
and keepalive functions to retry the commands, while properly
quoting the paths and avoiding eval.

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2021-12-15 14:11:58 +02:00
Kevin Parsons
3c3486f91b
Merge pull request #6350 from aznashwan/windows-integration-disable-2004
Remove Windows integration testing for 2004.
2021-12-14 13:17:35 -08:00
James Sturtevant
68dabdcc69 Use RFC3339 format so rg cleanup works
Signed-off-by: James Sturtevant <jstur@microsoft.com>
2021-12-07 11:04:36 -08:00
Nashwan Azhari
6f9d80907e Remove Windows integration testing for 2004.
Considering Windows 2004's EoL on the 14th of December, 2021,
this PR removes all periodic integration testing for 2004.

Signed-off-by: Nashwan Azhari <nazhari@cloudbasesolutions.com>
2021-12-07 19:49:33 +02:00
Gabriel Adrian Samfira
4ccf287da7
Set CONTAINERD_ROOT in Windows cri-integration
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2021-12-03 07:44:44 +02:00
Nashwan Azhari
0a25bc1aac Integration: Separate Windows Periodic Tests workflow trigger.
Following PR #6284, the Windows Periodic Workflow is prevented from
running on any repository outside of the original.

While this achieves the goal of preventing senseless Windows workflow
failures in contributors' forks, it makes running the workflow for
contributors (even manually) impossible.

This PR adds a separate workflow file which triggers the Windows
Integration workflow iff it is being run off of the original repository,
thus maintaining the upstream scheduling, while allowing contributors to
manually trigger the workflow on their forks if they so desire.

Signed-off-by: Nashwan Azhari <nazhari@cloudbasesolutions.com>
2021-11-24 18:18:14 +02:00
Phil Estes
0a284fcdbc
Merge pull request #6284 from jonyhy96/feat-ci-skip-fork
feat: skip ci for fork
2021-11-23 23:20:37 -05:00
haoyun
507bfc91ba feat: skip ci for fork
Signed-off-by: haoyun <yun.hao@daocloud.io>
2021-11-24 10:24:13 +08:00
Nashwan Azhari
cb1359fa8b Integration: Remove explicit version passing to azure/CLI.
In the Windows CI's periodic runs the `azure/CLI` GitHub action library
is leveraged to run various Azure-related commands.

To avoid possible desyncing between the auth libraries of `azure/Login`
and `azure/CLI` as described
[here](https://github.com/Azure/cli/issues/56#issuecomment-958705517),
this patch neglects to pass an explicit `azcliversion` to `azure/CLI` in
order to have it default to the Azure CLI version set up by `azure/Login`.

Signed-off-by: Nashwan Azhari <nazhari@cloudbasesolutions.com>
2021-11-22 20:15:36 +02:00
Gabriel Adrian Samfira
548579d0e2
Pin az CLI version
The latest version of AZ CLI breaks the windows-periodic workflow.
See:

https://github.com/Azure/cli/issues/56

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2021-11-04 15:56:27 +02:00
Adelina Tuvenie
aeea697d84 Add WS2022 support in Windows Periodic tests
Some extra steps were added for WS2022 in accordance with
the published image on Azure:
- Install Container Feature & reboot VM
- Create NAT network

Temporarily we skip critest steps for WS2022 until all test images
are updated in that project.

Signed-off-by: Adelina Tuvenie <atuvenie@cloudbasesolutions.com>
2021-09-07 15:42:58 +03:00
Adelina Tuvenie
23bc3db914 Enable critest on Windows
Signed-off-by: Adelina Tuvenie <atuvenie@cloudbasesolutions.com>
2021-07-27 16:35:38 +03:00
Adelina Tuvenie
af5a130bc9 Enable cri-integration in Windows Periodic Tests
Signed-off-by: Adelina Tuvenie <atuvenie@cloudbasesolutions.com>
2021-06-08 17:53:29 +03:00
Adelina Tuvenie
5f0fc4893d Add creation timestamp to RG
Signed-off-by: Adelina Tuvenie <atuvenie@cloudbasesolutions.com>
2021-06-02 13:16:40 +03:00
Derek McGowan
05c03de94d
Update Windows periodic tests
Allow these tests to be manually triggered as well

Signed-off-by: Derek McGowan <derek@mcg.dev>
2021-05-28 10:37:25 -07:00
Adelina Tuvenie
77285e311c Schedule Windows job daily after midnight.
Signed-off-by: Adelina Tuvenie <atuvenie@cloudbasesolutions.com>
2021-05-18 18:25:09 +03:00
Adelina Tuvenie
2b58782df0 Update windows-periodic.yml
Add 2019 to matrix

Signed-off-by: Adelina Tuvenie <atuvenie@cloudbasesolutions.com>
2021-05-18 18:25:00 +03:00
Adelina Tuvenie
421fc6ea73 Add CI periodic Windows Jobs.
Signed-off-by: Adelina Tuvenie <atuvenie@cloudbasesolutions.com>
2021-04-20 17:18:46 +03:00