Different workflow templates for different workflows.
Build a package and a fully installable application for WoltLab Suite.
Build a package for WoltLab Suite.
Creates a release when a tag is added and attach a built package to it.
Compiles SCSS/SASS and minifies CSS/JavaScript.
It assumes this structure:
|-- assets
| |-- js
| | |-- some-js-file.js
| `-- style
| `-- scss
| `-- style.scss
If you have a different structure, change the paths accordingly for the steps Compile CSS
and Minify JavaScript
.
Also runs npm run build
and build an artifact with exclusions (requires a file in .github/exclude_list
). Can be used for Gutenberg blocks via @wordpress/scripts
.
For a theme, use a different destination for SCSS/SASS compilation as the files need to be in the root directory. The destination is already in the template but commented out. Comment out the earlier destination and remove the #
sign of the theme destination (destination: ${{ github.repository }}
).
Runs npm run build
and build an artifact with exclusions (requires a file in .github/exclude_list
). Can be used for simple Gutenberg blocks via @wordpress/scripts
.
To upload data via SSH, you can use these steps to do so (if you need to do something before, e.g. compiling, do that before). It will use a command using ssh
as well as one with scp
.
The file(s) will then be uploaded to the remote host specified in the directory <remote path>/repo-name/sha-hash/repo-name.tar.gz
. You can change these paths by modifying the two parts ${{ secrets.REMOTE_PATH_BASE }}/${{ github.event.repository.name }}/${{ github.sha }}
.
If the directory does not exist, it will be created first.
If you want to upload only specific files, change the *
at the scp
command to your desired file list.
You need some variables as secrets to get the upload working.
Get a known host via ssh-keyscan example.com
.
The path where the package should be uploaded.
Set your remote host, e. g. example.com
.
Set your remote user, e.g. root
(please, do not!).
Generate a private key with ssh-keygen -m PEM -t rsa -b 4096
.
Make sure the public key is set on the target server in the known_hosts
file of SSH.
Our GitHub Action workflows are available for use and remix under the MIT license.