-
Notifications
You must be signed in to change notification settings - Fork 0
134 lines (111 loc) · 3.84 KB
/
cordova-hugo (1).yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# Sample workflow for building and deploying a Hugo site to GitHub Pages and triggering a Cordova build
name: Deploy Hugo site to Pages and Build Cordova APK
on:
# Runs on pushes targeting the gradle branch
push:
branches: ["gradle"]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
# Default to bash
defaults:
run:
shell: bash
jobs:
# Build job
build:
runs-on: ubuntu-latest
env:
HUGO_VERSION: 0.85.0
steps:
- name: Install Android SDK if not already installed
run: |
if [ ! -d "$HOME/android-sdk/platform-tools" ]; then
echo "Installing Android SDK..."
mkdir -p $HOME/android-sdk
wget -q https://dl.google.com/android/repository/commandlinetools-linux-6858069_latest.zip -O sdk-tools.zip
unzip -q sdk-tools.zip -d $HOME/android-sdk
yes | $HOME/android-sdk/cmdline-tools/bin/sdkmanager --sdk_root=$HOME/android-sdk --install "platforms;android-30" "build-tools;30.0.3" "platform-tools"
else
echo "Android SDK already installed, skipping installation."
fi
- name: Install Hugo CLI
run: |
wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_Linux-64bit.deb \
&& sudo dpkg -i ${{ runner.temp }}/hugo.deb
- name: Install Dart Sass
run: sudo snap install dart-sass
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup Pages
id: pages
uses: actions/configure-pages@v5
- name: Install Node.js dependencies
run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true"
- name: Build with Hugo
env:
HUGO_CACHEDIR: ${{ runner.temp }}/hugo_cache
HUGO_ENVIRONMENT: production
run: |
hugo \
--minify \
--baseURL "${{ steps.pages.outputs.base_url }}/"
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./public
# Cordova build job
cordova_build:
runs-on: ubuntu-latest
needs: build
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
- name: Install Cordova
run: npm install -g cordova
- name: Initialize Cordova Project
run: |
cordova create cordova-app com.example.app MyApp
- name: Copy Hugo 'public' to Cordova 'www'
run: |
rm -rf cordova-app/www/*
cp -r public/* cordova-app/www
- name: Add Android Platform
run: |
cd cordova-app
cordova platform add android --android-sdk $HOME/android-sdk
- name: Build Cordova Android App
run: |
cd cordova-app
cordova build android --release
- name: Upload APK
uses: actions/upload-artifact@v3
with:
name: MyApp-release.apk
path: cordova-app/platforms/android/app/build/outputs/apk/release/app-release.apk
# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4