#14 added missing templates/ssh/ssh_private_key_server_bootstrap.j2 #160
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
name: Cut Release | |
permissions: | |
contents: write | |
on: | |
push: | |
branches: | |
- main | |
workflow_dispatch: | |
jobs: | |
release: | |
runs-on: ubuntu-latest | |
if: "!contains(github.event.head_commit.message, 'ci skip') && !contains(github.event.head_commit.message, 'skip ci')" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Prepare repository | |
run: git fetch --unshallow --tags | |
- name: Display the environment variables and their values | |
run: | | |
curl -L -o /tmp/auto.gz https://github.com/intuit/auto/releases/download/v11.1.6/auto-linux.gz | |
gzip -d /tmp/auto.gz | |
chmod +x /tmp/auto | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y curl make isolinux | |
- name: Clone iPXE repository | |
run: git clone https://github.com/ipxe/ipxe.git | |
- name: iPXE Prepare certificates | |
run: | | |
cd ipxe/src | |
curl -s http://ca.ipxe.org/ca.crt > ca.pem | |
curl -s https://letsencrypt.org/certs/isrgrootx1.pem > isrgrootx1.pem | |
curl -s https://letsencrypt.org/certs/lets-encrypt-r3.pem > lets-encrypt-r3.pem | |
- name: iPXE Prepare embedded script | |
run: | | |
echo See https://ipxe.org/embed | |
cd ipxe/src | |
cat << EOF > script.ipxe | |
#!ipxe | |
prompt --key 0x02 --timeout 4000 Press Ctrl-B for the iPXE command line... && shell || | |
ifstat | |
ifopen | |
set net3/ip:ipv4 77.95.37.34 | |
set net3/netmask:ipv4 255.255.255.240 | |
set net3/gateway:ipv4 77.95.37.33 | |
set net3/dns:ipv4 8.8.8.8 | |
ifopen net3 | |
sleep 4 | |
ifstat | |
:retry_ping | |
ping -c 1 8.8.8.8 || goto retry_ping | |
ifstat | |
chain https://boot.karmacomputing.co.uk/boot.txt?uuid=${uuid} | |
EOF | |
- name: iPXE Build iPXE ISO | |
run: | | |
cd ipxe/src | |
pwd | |
ls -l | |
cat script.ipxe | |
echo Enable ping command | |
echo See https://ipxe.org/buildcfg | |
sed -i 's$//#define PING_CMD$#define PING_CMD$g' config/general.h | |
sed -i 's$//#define NET_PROTO_IPV6$#define NET_PROTO_IPV6$g' config/general.h | |
echo Enable https download | |
sed -i 's/undef.*DOWNLOAD_PROTO_HTTPS/define DOWNLOAD_PROTO_HTTPS/g' config/general.h | |
echo Build iPXE ISO | |
make \ | |
DEBUG=tls,httpcore,x509,certstore \ | |
CERT=ca.pem,isrgrootx1.pem,lets-encrypt-r3.pem \ | |
TRUST=ca.pem,isrgrootx1.pem,lets-encrypt-r3.pem \ | |
bin/ipxe.iso \ | |
EMBED=script.ipxe | |
- name: iPXE Publish iPXE ISO artifact | |
uses: actions/upload-artifact@v2 | |
with: | |
name: ipxe-iso | |
path: ipxe/src/bin/ipxe.iso | |
- name: Create Release | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
npx /tmp/auto shipit |