Skip to content

Provide pre-built Docker images on Quay.io#1803

Merged
osma merged 45 commits intomainfrom
issue1763-pre-built-docker-images-for-public-use
Aug 27, 2025
Merged

Provide pre-built Docker images on Quay.io#1803
osma merged 45 commits intomainfrom
issue1763-pre-built-docker-images-for-public-use

Conversation

@miguelvaara
Copy link
Contributor

@miguelvaara miguelvaara commented Aug 22, 2025

Reasons for creating this PR

Sharing Docker images simplifies deployment processes, especially in automation as described in the issue: #1763.

Link to relevant issue(s), if any

Description of the changes in this PR

When the feature branch for this PR is merged into main, every push, pull request and tagged release on main will publish latest Docker image to Quay.io. Instructions for using the Docker images will be added to the documentation (temporarly here).

It would have been possible to create a separate issue for improving GitHub Actions logging, but since logging is needed throughout working on this PR, the improvements are included here together with the related changes.

Known problems or uncertainties in this PR

  • The "new" YAML code style may raise some “feelings” ;-), but in my view using two spaces for indentation before list markers is clearer and more elegant. This format is also accepted by YAML Lint.

  • Uploading Docker images to Quay.io is implemented in GitHub Actions as two workflows: pushes and pull requests trigger one workflow while pushing a tag triggers another (one may appear as “skipped” in the Actions UI but in practice they are separate workflows). All dependency causing tests must pass successfully before the Quay.io-related jobs are executed.

  • Progress was slowed down by timeouts in the build-test jobs. The limit has been increased to 60 minutes. Personally, I would like this change to be merged into main, but of course the matter is open for discussion.

  • The code coverage tests, I did not consider them meaningful in the context of this issue.

Instruction for the reviewer:

Make a change to the testfile.txt file (located in the document root) and commit it. Also add a tag (git tag -a vN.N.N" -m "Test release version N.N.N") and push it (git push origin issue1763-pre-built-docker-images-for-public-use --tags). Monitor the GitHub Actions runs and finally verify the result in quay.io/natlibfi/skosmos. Try pulling the new image following the instructions.

Checklist

  • Created a repository on Quay.io

  • Defined permissions

  • Configured GitHub Actions for both Docker images

  • Tested and verified functionality

  • Documentation complete

  • Reviewed / approved

  • Merge

  • phpUnit tests pass locally with my changes

  • I have added tests that show that the new code works, or tests are not relevant for this PR (e.g. only HTML/CSS changes)

  • The PR doesn't reduce accessibility of the front-end code (e.g. tab focus, scaling to different resolutions, use of .sr-only class, color contrast)

  • The PR doesn't introduce unintended code changes (e.g. empty lines or useless reindentation)

@miguelvaara miguelvaara force-pushed the issue1763-pre-built-docker-images-for-public-use branch from 40352de to 5de9fb6 Compare August 22, 2025 07:51
@codecov
Copy link

codecov bot commented Aug 25, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 70.97%. Comparing base (7121d2d) to head (ddf8bd0).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff              @@
##               main    #1803      +/-   ##
============================================
- Coverage     71.02%   70.97%   -0.06%     
- Complexity     1645     1647       +2     
============================================
  Files            33       33              
  Lines          4314     4320       +6     
============================================
+ Hits           3064     3066       +2     
- Misses         1250     1254       +4     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

…is used. Loading the other one waits until the loading itself is working properly
…t folder and the if condition for the job is more open
@miguelvaara miguelvaara force-pushed the issue1763-pre-built-docker-images-for-public-use branch from ddf8bd0 to a2c4c95 Compare August 26, 2025 06:25
@miguelvaara
Copy link
Contributor Author

The instruction text will be added during the merge to the page Install Skosmos with Fuseki in Docker.

Using Pre-built Docker Images

You can view the tags associated with Skosmos releases in its Quay.io repository. For more details about releases and their related tags, see our Releases page.

Tags

Our releases follow semantic versioning and we apply it on Quay.io as follows:

  • The latest tag always points to the most recent release.
  • When a patch version changes, a corresponding minor version tag is also created.
  • For each nn.nn.nn release tag, both a date-tagged and a hash-tagged version exist.

Pulling from Quay.io

You can either pull the Docker image separately with docker pull quay.io/natlibfi/skosmos:[tag] and then run a container from it as you prefer or you can both pull and run it in a single command
docker run -d --name skosmos-test -p 8080:80 quay.io/natlibfi/skosmos:[tag].

@miguelvaara miguelvaara self-assigned this Aug 26, 2025
@miguelvaara miguelvaara added this to the 3.0-beta.1 milestone Aug 26, 2025
@miguelvaara miguelvaara marked this pull request as ready for review August 26, 2025 12:38
@miguelvaara miguelvaara changed the title Issue1763 pre built docker images for public use Provide pre-built Docker images on Quay.io Aug 26, 2025
@miguelvaara miguelvaara requested a review from osma August 26, 2025 12:44
Copy link
Member

@osma osma left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like a good start, I gave some suggestions for cleanup

@sonarqubecloud
Copy link

@osma
Copy link
Member

osma commented Aug 27, 2025

Good now, let's hope it works in main! I will merge this now

@osma osma merged commit 60405cf into main Aug 27, 2025
4 of 10 checks passed
@github-project-automation github-project-automation bot moved this to Issue/PR closed in Skosmos 3.x Backlog Aug 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Pre-built Docker images for public use

2 participants