What follows are developer-oriented instructions about our GitHub Self-Hosted Runners connected to GitHub actions for automatable deploys of PASS demo system.
For information on actually deploying updates to a running demo system such as demo.eclipse-pass.org please refer to Eclipse Foundation infrastructure
On a self-hosted server, the code is located in an (unfortunately) deeply nested structure at
/opt/githubrunner/pass-docker/pass-docker/pass-docker
On a GitHub actions deploy, the latest code will be available at that location, as shown below.
a2forward@nightly-pass:/opt/githubrunner/pass-docker/pass-docker/pass-docker$ git log -1
commit 3766a8db3faabe4e28d0eb1ac9549d5048ec65b2 (grafted, HEAD -> main, origin/main)
Author: Grant McSheffrey <grant.mcsheffrey@eclipse-foundation.org>
Date: Wed Sep 21 10:49:42 2022 -0400
Merge pull request #271 from eclipse-pass/k8s-separation
Separate Kubernetes changes into new files
The GitHub actions are defined in [pass-docker/.github/workflows]((https://github.com/eclipse-pass/pass-docker/blob/main/.github/workflows/) such as our nightly action.
The nightly action will run every night (and on every pull-request merge).
Please ensure the issue is actually related to the deployed environment and IS NOT reproducible locally.
If you are troubleshooting strange behaviour on a GitHub Self-Hosted Runners then you can directly manipulate the code outside of an official deploy.
For that, first SSH onto that server, and then switch to the githubrunner
user.
# SSH into the server
cd /opt/githubrunner/pass-docker/pass-docker/pass-docker
sudo su githubrunner
From here, you can run the application (any version of it)
docker-compose up
Please refer to the specifics of the Eclipse Foundation infrastructure for the actual commands to run on a specific environment. For example, this is the specific script that (currently) runs demo.eclipse-pass.org
docker-compose -f eclipse-pass.base.yml -f eclipse-pass.demo.yml up
For debugging purposes you can also change the branch and run a specific build (what follows is for demonstration purposes not the specific commands you want to run)
git fetch
git checkout demo-spike
docker-compose -f demo.yml pull
docker-compose -f demo.yml --env-file .demo_env up
If the application did launch as expected, you should be able to
see the working site (for example using curl
).
curl -k https://localhost
Which will return something similar to
<html>
<head>
<title>PASS docker</title>
</head>
<body>
PASS Docker!
<p>Apps:</p>
<ul>
<li><a href="/app/">Ember - the PASS UI</a></li>
</ul>
</body>
</html>