Comment on page
Using GitHub Actions
It is possible to build a Mapeo configuration file using GitHub Actions. This requires setting up your custom configuration directory as a repository on Github.com, adding a
/.github/workflows/build.ymlscript to your repository, and committing changes to that repository.
Note that since this process relies on using github.com, that you will need internet access to run the build action and download the
.mapeosettingsconfiguration file. Hence, unlike building a configuration Via the command line, this process will not work in an offline context.
The first step will be to set up your configuration as a repository on github.com, with the requisite build script files that will trigger a GitHub Actions Workflow to generate your
.mapeosettingsfile. There are a few ways to do this.
If you do not have your own custom configuration already, and are starting from scratch:
- 2.Make sure that you have the
.github/workflowsdirectory in your configuration repository.
If you already have your own custom configuration:
- 1.Create a repository on GitHub for your custom configuration.
- 2.Commit your existing configuration content to the repository.
- 4.Commit these files to your repository on Github.com. (Github may ask you for additional permissions to add these files, by confirming via the browser.)
NOTE: Depending on your operating system and setup, it is possible that you do not see a
.github/directory anywhere. You may need to enable viewing hidden files in your system file manager. On MacOS, you can do so by pressing Command + Shift + . (period) in your Finder window.
Navigate to the Actions screen, and Click "I understand my workflows, go ahead and enable them."
This will bring you to a view of your Workflows. You should see a message "There are no workflow runs yet" if you just enabled Workflows for the first time. You are now ready to start building
Once you have enabled Action Workflows on your configuration repository, GitHub will generate a Workflow to build a new version of your configuration every single time that you commit a change to your repository.
Once you have committed a change to your repository, and navigate to the Actions tab, you should see your commit message listed as a workflow.
- a circular check indicates that the build has completed successfully.✅
- a yellow circle indicates that the build is in process.🟡
- a red circle with an X indicates that the build has encountered an error.🔴
You can click on your commit message to find out more about the status of your build. For example, if your build has encountered an error, there will be a log that can give you an idea of what went wrong. You can commit a change to fix the error, and return to the Actions screen to see if a new Workflow successfully bypasses the problem.
By opening the Workflow with your commit message, you can also download a
.zipfile of your configuration, which includes a temporary
.mapeosettingsfile. This is helpful for testing out your configuration before building a versioned file to distribute to users, as described in Testing and iterating.
The Mapeo GitHub Actions Workflow is set up to dynamically bump the version of your configuration per each workflow. It does so using conventional commit messaging of adding
chore:before your commit message. For example, if you have a configuration with version 1.1.0, the specific version bumps are as follows:
feat: this will increase your version to 1.2.0. This commit prefix could be used for major configuration updates.
fix: this will increase your version to 1.1.1. This commit prefix could be used for small updates like changing an icon, or adding a field to a category.
chore: this will not increase your version. This commit prefix could be used for correcting typos or fixing errors.
You can also manually update the first number in your 1.1.0 version in your
package.jsonfile, but Digital Democracy's convention is to only do so to indicate breaking changes. That said, you are free to choose a versioning convention that makes the most sense to you.
- Navigate to the Actions tab for your GitHub repository. You should see all of your Workflows again.
- On the left sidebar, click on the Build & Release link.
- You should now see a box with the text "This workflow has a
workflow_dispatchevent trigger" and a button Run workflow. Click the button, and then click Run workflow again in the popup that will appear.
- Doing so will trigger another Workflow titled "Build and Release."
- When that finished with agreen check mark, your versioned build release will be ready. On the top navigation bar, click on Code and your release should appear under the Releases panel in the right sidebar.✅
- Click on the release to download the versioned