-
Notifications
You must be signed in to change notification settings - Fork 54
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Habitat package for cookstyle (#996)
* cookstyle as an hab package file Signed-off-by: nikhil2611 <[email protected]> * cookstyle as an hab package file added plan.ps1 file Signed-off-by: nikhil2611 <[email protected]> * updated package origin to core Signed-off-by: nikhil2611 <[email protected]> * added appbundler gem Signed-off-by: nikhil2611 <[email protected]> * updated plan files Signed-off-by: nikhil2611 <[email protected]> * added github action pipeline to verify build and publish package Signed-off-by: nikhil2611 <[email protected]> * verifying hab package Signed-off-by: nikhil2611 <[email protected]> * fixing for windows Signed-off-by: nikhil2611 <[email protected]> * fixing the version test Signed-off-by: nikhil2611 <[email protected]> * fixing the bracket error Signed-off-by: nikhil2611 <[email protected]> * updated the plan file for linux Signed-off-by: nikhil2611 <[email protected]> * updated the plan file for win Signed-off-by: nikhil2611 <[email protected]> * updated the origin Signed-off-by: nikhil2611 <[email protected]> * updated the pipeline to work with expeditor Signed-off-by: nikhil2611 <[email protected]> * removed the github verify Signed-off-by: nikhil2611 <[email protected]> * testing pipelines Signed-off-by: nikhil2611 <[email protected]> * testing pipelines Signed-off-by: nikhil2611 <[email protected]> * testing pipelines Signed-off-by: nikhil2611 <[email protected]> * updated file permission Signed-off-by: nikhil2611 <[email protected]> * removed the verify pipeline Signed-off-by: nikhil2611 <[email protected]> * updated file permission Signed-off-by: nikhil2611 <[email protected]> * accepting arg pkg_idenent Signed-off-by: nikhil2611 <[email protected]> * adding echo Signed-off-by: nikhil2611 <[email protected]> * typo with names Signed-off-by: nikhil2611 <[email protected]> * typo with names Signed-off-by: nikhil2611 <[email protected]> * typo with names Signed-off-by: nikhil2611 <[email protected]> * typo with names Signed-off-by: nikhil2611 <[email protected]> * typo with names Signed-off-by: nikhil2611 <[email protected]> * removed the manually created pipelines and added the channels Signed-off-by: nikhil2611 <[email protected]> * adding back the pipelines Signed-off-by: nikhil2611 <[email protected]> * adding the agents to promote Signed-off-by: nikhil2611 <[email protected]> * updated version to 0.1.0 Signed-off-by: nikhil2611 <[email protected]> * removed test pipeline which is running twice Signed-off-by: nikhil2611 <[email protected]> * empty commit to test pipelines Signed-off-by: nikhil2611 <[email protected]> * comment to pipelines to build those automatically Signed-off-by: nikhil2611 <[email protected]> * added back the pipelines to build those automatically Signed-off-by: nikhil2611 <[email protected]> * Bump version to 0.1.1 by Chef Expeditor Obvious fix; these changes are the result of automation not creative thinking. * added back the pipelines to build those automatically Signed-off-by: nikhil2611 <[email protected]> * Bump version to 0.1.2 by Chef Expeditor Obvious fix; these changes are the result of automation not creative thinking. * updated the version to major version Signed-off-by: nikhil2611 <[email protected]> * updating version to major version and few plan file fixes Signed-off-by: nikhil2611 <[email protected]> * reverting the version back and removing the release branch changes Signed-off-by: nikhil2611 <[email protected]> * fixing expeditor config error Signed-off-by: nikhil2611 <[email protected]> * not needed this workload Signed-off-by: nikhil2611 <[email protected]> --------- Signed-off-by: nikhil2611 <[email protected]> Co-authored-by: ns <[email protected]> Co-authored-by: Chef Expeditor <[email protected]>
- Loading branch information
1 parent
28d806f
commit 6055f28
Showing
11 changed files
with
475 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
--- | ||
env: | ||
HAB_REFRESH_CHANNEL: "LTS-2024" | ||
|
||
origin: chef | ||
|
||
expeditor: | ||
defaults: | ||
buildkite: | ||
retry: | ||
automatic: | ||
limit: 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
#!/usr/bin/env powershell | ||
|
||
#Requires -Version 5 | ||
# https://stackoverflow.com/questions/9948517 | ||
# TODO: Set-StrictMode -Version Latest | ||
$PSDefaultParameterValues['*:ErrorAction']='Stop' | ||
$ErrorActionPreference = 'Stop' | ||
# $env:HAB_REFRESH_CHANNEL = "LTS-2024" | ||
$env:HAB_ORIGIN = 'ci' | ||
$env:CHEF_LICENSE = 'accept-no-persist' | ||
$env:HAB_LICENSE = 'accept-no-persist' | ||
$Plan = 'cookstyle' | ||
|
||
Write-Host "--- system details" | ||
$Properties = 'Caption', 'CSName', 'Version', 'BuildType', 'OSArchitecture' | ||
Get-CimInstance Win32_OperatingSystem | Select-Object $Properties | Format-Table -AutoSize | ||
|
||
Write-Host "--- Installing the version of Habitat required" | ||
|
||
function Stop-HabProcess { | ||
$habProcess = Get-Process hab -ErrorAction SilentlyContinue | ||
if ($habProcess) { | ||
Write-Host "Stopping hab process..." | ||
Stop-Process -Name hab -Force | ||
} | ||
} | ||
|
||
# Installing Habitat | ||
function Install-Habitat { | ||
Write-Host "Downloading and installing Habitat..." | ||
Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/habitat-sh/habitat/main/components/hab/install.ps1')) | ||
} | ||
|
||
try { | ||
hab --version | ||
} | ||
catch { | ||
Set-ExecutionPolicy Bypass -Scope Process -Force | ||
|
||
Stop-HabProcess | ||
|
||
# Remove the existing hab.exe if it exists and if you have permissions | ||
$habPath = "C:\ProgramData\Habitat\hab.exe" | ||
if (Test-Path $habPath) { | ||
Write-Host "Attempting to remove existing hab.exe..." | ||
Remove-Item $habPath -Force -ErrorAction SilentlyContinue | ||
if (Test-Path $habPath) { | ||
Write-Host "Failed to remove hab.exe, re-running script with elevated permissions." | ||
Start-Process powershell -Verb runAs -ArgumentList "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`"" | ||
exit | ||
} | ||
} | ||
|
||
Install-Habitat | ||
} | ||
finally { | ||
Write-Host ":habicat: I think I have the version I need to build." | ||
} | ||
|
||
|
||
Write-Host "--- Generating fake origin key" | ||
hab origin key generate $env:HAB_ORIGIN | ||
|
||
Write-Host "--- Building $Plan" | ||
$project_root = "$(git rev-parse --show-toplevel)" | ||
Set-Location $project_root | ||
|
||
$env:DO_CHECK=$true; hab pkg build . | ||
|
||
. $project_root/results/last_build.ps1 | ||
|
||
Write-Host "--- Installing $pkg_ident/$pkg_artifact" | ||
hab pkg install -b $project_root/results/$pkg_artifact | ||
|
||
Write-Host "+++ Testing $Plan" | ||
|
||
Push-Location $project_root | ||
|
||
try { | ||
Write-Host "Running unit tests..." | ||
habitat/tests/test.ps1 $pkg_ident | ||
} | ||
finally { | ||
# Ensure we always return to the original directory | ||
Pop-Location | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
#!/usr/bin/env bash | ||
|
||
set -eo pipefail | ||
|
||
export HAB_ORIGIN='ci' | ||
export PLAN='cookstyle' | ||
export CHEF_LICENSE="accept-no-persist" | ||
export HAB_LICENSE="accept-no-persist" | ||
# export HAB_REFRESH_CHANNEL="LTS-2024" | ||
|
||
echo "--- checking if git is installed" | ||
if ! command -v git &> /dev/null; then | ||
echo "Git is not installed. Installing Git..." | ||
sudo yum install -y git | ||
else | ||
echo "Git is already installed." | ||
git --version | ||
fi | ||
|
||
echo "--- add an exception for this directory since detected dubious ownership in repository at /workdir" | ||
git config --global --add safe.directory /workdir | ||
|
||
echo "--- git status for this workdir" | ||
git status | ||
|
||
echo "--- ruby version" | ||
ruby -v | ||
|
||
export project_root="$(git rev-parse --show-toplevel)" | ||
echo "The value for project_root is: $project_root" | ||
|
||
export HAB_NONINTERACTIVE=true | ||
export HAB_NOCOLORING=true | ||
export HAB_STUDIO_SECRET_HAB_NONINTERACTIVE=true | ||
|
||
echo "--- system details" | ||
uname -a | ||
|
||
echo "--- Installing Habitat" | ||
id -a | ||
curl https://raw.githubusercontent.com/habitat-sh/habitat/main/components/hab/install.sh | bash | ||
|
||
echo "--- :key: Generating fake origin key" | ||
hab origin key generate "$HAB_ORIGIN" | ||
|
||
|
||
echo "--- Building $PLAN" | ||
cd "$project_root" | ||
DO_CHECK=true hab pkg build . | ||
|
||
echo "--- Sourcing 'results/last_build.sh'" | ||
if [ -f ./results/last_build.env ]; then | ||
cat ./results/last_build.env | ||
. ./results/last_build.env | ||
export pkg_artifact | ||
fi | ||
|
||
echo "+++ Installing ${pkg_ident:?is undefined}" | ||
echo "++++" | ||
echo $project_root | ||
echo "+++" | ||
hab pkg install -b "${project_root:?is undefined}/results/${pkg_artifact:?is undefined}" | ||
|
||
echo "+++ Testing $PLAN" | ||
|
||
PATH="$(hab pkg path ci/cookstyle)/bin:$PATH" | ||
export PATH | ||
echo "PATH is $PATH" | ||
|
||
echo "--- :mag_right: Testing $PLAN" | ||
${project_root}/habitat/tests/test.sh "$pkg_ident" || error 'failures during test of executables' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
--- | ||
expeditor: | ||
defaults: | ||
buildkite: | ||
timeout_in_minutes: 30 | ||
env: | ||
HAB_REFRESH_CHANNEL: "LTS-2024" | ||
retry: | ||
automatic: | ||
limit: 1 | ||
|
||
steps: | ||
|
||
- label: ":linux: Validate Habitat Builds of Cookstyle" | ||
commands: | ||
- .expeditor/buildkite/artifact.habitat.test.sh | ||
expeditor: | ||
executor: | ||
docker: | ||
image: ruby:3.1 | ||
privileged: true | ||
|
||
- label: ":windows: Validate Habitat Builds of Cookstyle" | ||
commands: | ||
- .expeditor/buildkite/artifact.habitat.test.ps1 | ||
expeditor: | ||
executor: | ||
docker: | ||
host_os: windows | ||
shell: ["powershell", "-Command"] | ||
image: rubydistros/windows-2019:3.1 | ||
user: 'NT AUTHORITY\SYSTEM' | ||
environment: | ||
- FORCE_FFI_YAJL=ext | ||
- EXPIRE_CACHE=true | ||
- CHEF_LICENSE=accept-no-persist | ||
- CHEF_LICENSE_SERVER=http://hosted-license-service-lb-8000-606952349.us-west-2.elb.amazonaws.com:8000/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.