Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Publish
on:
workflow_dispatch:
concurrency:
group: publish
cancel-in-progress: true
permissions: write-all
jobs:
publish-ghcr:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: tools/prebuild.sh
- uses: devcontainers/action@v1
with:
publish-features: true
base-path-to-features: src
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
update-docs:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
packages: write
steps:
- uses: actions/checkout@v3
- uses: devcontainers/action@v1
with:
base-path-to-features: src
generate-docs: true
- uses: stefanzweifel/git-auto-commit-action@v4
47 changes: 0 additions & 47 deletions .github/workflows/release.yaml

This file was deleted.

58 changes: 0 additions & 58 deletions .github/workflows/test.yaml

This file was deleted.

28 changes: 28 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Test
on:
push:
branches: [main]
paths:
- src/**
- "!src/**.md"
- test/**
- .github/workflows/test.yml
pull_request:
branches: [main]
paths:
- src/**
- "!src/**.md"
- test/**
- .github/workflows/test.yml
workflow_dispatch:
concurrency:
group: test-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: npm install -g @devcontainers/cli
# TODO: When features grow too numerous, test ONLY CHANGED features
- run: tools/test.sh
16 changes: 0 additions & 16 deletions .github/workflows/validate.yml

This file was deleted.

4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
src/*/utils

logs
*.log
13 changes: 13 additions & 0 deletions tools/prebuild.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/bash
set -e

for id in src/*; do
id=$(basename "$id")
if [[ ! -d src/$id ]]; then
echo "🟨 Skipping $id..."
continue
fi
echo "🟪 Copying utils/ to src/$id/utils/..."
rsync -a utils/ "src/$id/utils/"
echo "🟩 Copied utils/ to src/$id/utils/"
done
5 changes: 5 additions & 0 deletions tools/test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/bash
set -e

tools/prebuild.sh
devcontainer features test "$@"
8 changes: 8 additions & 0 deletions utils/clear_local_apt_index.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# shellcheck shell=bash

clear_local_apt_index() (
set -e

rm -rf /var/lib/apt/lists/*
echo '🟩 Cleared local apt index'
)
19 changes: 19 additions & 0 deletions utils/ensure_apt_packages.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# shellcheck shell=bash

ensure_apt_packages() (
set -e

export DEBIAN_FRONTEND=noninteractive
if dpkg -s "$@" &>/dev/null; then
echo "🟦 $@ is already installed"
else
if [[ $(find /var/lib/apt/lists/* | wc -l) == 0 ]]; then
echo '🟪 Updating local apt index...'
apt-get update -y
echo '🟩 Updated local apt index'
fi
echo "🟪 Installing $@..."
apt-get install -y --no-install-recommends "$@"
echo "🟩 Installed $@"
fi
)