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: Build and Verify Installer Works | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- master | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
# Step 1: Checkout the repository | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
# Step 2: Set up Go | |
- name: Set up Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: '>=1.20' | |
# Step 3: Install htmgo CLI | |
- name: Install htmgo CLI | |
run: | | |
GOPRIVATE=github.com/maddalax GOPROXY=direct go install github.com/maddalax/htmgo/cli/htmgo@latest | |
# Step 4: Generate template using htmgo | |
- name: Generate myapp template | |
run: | | |
htmgo template myapp | |
# Step 5: Build the app | |
- name: Build myapp | |
run: | | |
cd myapp | |
htmgo build | |
# Step 6: Verify that the dist directory exists | |
- name: Verify build output | |
run: | | |
if [ ! -d "./myapp/dist" ]; then | |
echo "Build directory ./dist/myapp does not exist" | |
exit 1 | |
fi | |
shell: bash | |
# Step 7: Start the server | |
- name: Start myapp server | |
run: | | |
nohup ./myapp/dist/myapp & | |
# Step 8: Wait for server to start | |
- name: Wait for server startup | |
run: sleep 5 | |
# Step 9: Send curl request to verify the server is running | |
- name: Test server with curl | |
run: | | |
curl --fail http://localhost:3000 || exit 1 |