-
Notifications
You must be signed in to change notification settings - Fork 0
168 lines (139 loc) · 5.38 KB
/
pages.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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
name: Build and deploy to GitHub Pages
on: [push, pull_request]
jobs:
build-javadoc:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: "17"
distribution: "temurin"
# Configure Gradle for optimal use in GiHub Actions, including caching of downloaded dependencies.
# See: https://github.com/gradle/actions/blob/main/setup-gradle/README.md
- name: Setup Gradle
uses: gradle/actions/setup-gradle@417ae3ccd767c252f5661f1ace9f835f9654f2b5 # v3.1.0
- name: Build Javadoc with Gradle Wrapper
run: ./gradlew javadoc
- name: Upload build artifact
uses: actions/[email protected]
with:
# Artifact name
name: javadoc
# A file, directory or wildcard pattern that describes what to upload
path: ./buttonbox-lib/build/docs/
build-library:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: "17"
distribution: "temurin"
# Configure Gradle for optimal use in GiHub Actions, including caching of downloaded dependencies.
# See: https://github.com/gradle/actions/blob/main/setup-gradle/README.md
- name: Setup Gradle
uses: gradle/actions/setup-gradle@417ae3ccd767c252f5661f1ace9f835f9654f2b5 # v3.1.0
- name: Build with Gradle Wrapper
run: ./gradlew build
- name: Publish with Gradle Wrapper
run: ./gradlew publish
- name: Upload Maven repository
uses: actions/[email protected]
with:
# Artifact name
name: maven
# A file, directory or wildcard pattern that describes what to upload
path: ./repos/
# The desired behavior if no files are found using the provided path.
if-no-files-found: error
- name: Upload ButtonBoxLib Vendordep
uses: actions/[email protected]
with:
# Artifact name
name: buttonbox-lib-vendordep
# A file, directory or wildcard pattern that describes what to upload
path: ./buttonbox-lib/build/outputs/ButtonBoxLib.json
# The desired behavior if no files are found using the provided path.
if-no-files-found: error
- name: Upload ButtonBoxLibMIDI Vendordep
uses: actions/[email protected]
with:
# Artifact name
name: buttonbox-lib-midi-vendordep
# A file, directory or wildcard pattern that describes what to upload
path: ./buttonbox-lib-midi/build/outputs/ButtonBoxLibMIDI.json
# The desired behavior if no files are found using the provided path.
if-no-files-found: error
build-docs:
runs-on: ubuntu-latest
defaults:
run:
working-directory: docs
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.3' # Not needed with a .ruby-version file
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
cache-version: 0 # Increment this number if you need to re-download cached gems
working-directory: '${{ github.workspace }}/docs'
- name: Setup Pages
id: pages
uses: actions/configure-pages@v5
- name: Build with Jekyll
# Outputs to the './_site' directory by default
run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
env:
JEKYLL_ENV: production
- name: Upload build artifact
uses: actions/[email protected]
with:
# Artifact name
name: docs
# A file, directory or wildcard pattern that describes what to upload
path: docs/_site/
# The desired behavior if no files are found using the provided path.
if-no-files-found: error
combine:
needs: [build-javadoc, build-library]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
path: release
merge-multiple: true
- name: Upload GitHub Pages artifact
uses: actions/[email protected]
with:
# Path of the directory containing the static assets.
path: release
deploy:
# Add a dependency to the build job
needs: combine
# Don't try to deploy from branches or forks
if: github.repository_owner == 'roboblazers7617' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v'))
# Grant GITHUB_TOKEN the permissions required to make a Pages deployment
permissions:
pages: write # to deploy to Pages
id-token: write # to verify the deployment originates from an appropriate source
# Deploy to the github-pages environment
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
# Specify runner + deployment step
runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4 # or specific "vX.X.X" version tag for this action