Merge pull request #146 from mihaelabalutoiu/add-upload-artifacts

Add upload artifacts and log instance details on timeout exceeded
This commit is contained in:
Gabriel 2023-08-05 02:06:46 +03:00 committed by GitHub
commit a4bd45bedd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 25 additions and 4 deletions

View file

@ -53,8 +53,12 @@ jobs:
port: 9997
tunnel_type: http
- name: Create logs directory
if: always()
run: sudo mkdir -p /artifacts-logs && sudo chmod 777 /artifacts-logs
- name: Run integration tests
run: go run ./test/integration/e2e.go
run: go run ./test/integration/e2e.go 2>&1 | tee /artifacts-logs/e2e.log
env:
GARM_BASE_URL: ${{ steps.ngrok.outputs.tunnel-url }}
GARM_USERNAME: admin
@ -69,4 +73,11 @@ jobs:
if: always()
run: |
sudo systemctl status garm
sudo journalctl -u garm --no-pager
sudo journalctl -u garm --no-pager 2>&1 | tee /artifacts-logs/garm.log
- name: Upload GARM and e2e logs
if: always()
uses: actions/upload-artifact@v3
with:
name: garm-logs
path: /artifacts-logs

View file

@ -640,12 +640,13 @@ func WaitRepoPoolNoInstances() {
func WaitRepoInstance(timeout time.Duration) {
var timeWaited time.Duration = 0
var instance params.Instance
for timeWaited < timeout {
instances, err := listRepoInstances(cli, authToken, repoID)
handleError(err)
if len(instances) > 0 {
instance := instances[0]
instance = instances[0]
log.Printf("instance %s status: %s", instance.Name, instance.Status)
if instance.Status == commonParams.InstanceRunning && instance.RunnerStatus == params.RunnerIdle {
repoInstanceName = instance.Name
@ -656,6 +657,10 @@ func WaitRepoInstance(timeout time.Duration) {
time.Sleep(5 * time.Second)
timeWaited += 5
}
instanceDetails, err := getInstance(cli, authToken, instance.Name)
handleError(err)
printResponse(instanceDetails)
log.Fatalf("Failed to wait for repo instance to be ready")
}
@ -801,12 +806,13 @@ func WaitOrgPoolNoInstances() {
func WaitOrgInstance(timeout time.Duration) {
var timeWaited time.Duration = 0
var instance params.Instance
for timeWaited < timeout {
instances, err := listOrgInstances(cli, authToken, orgID)
handleError(err)
if len(instances) > 0 {
instance := instances[0]
instance = instances[0]
log.Printf("instance %s status: %s", instance.Name, instance.Status)
if instance.Status == commonParams.InstanceRunning && instance.RunnerStatus == params.RunnerIdle {
orgInstanceName = instance.Name
@ -817,6 +823,10 @@ func WaitOrgInstance(timeout time.Duration) {
time.Sleep(5 * time.Second)
timeWaited += 5
}
instanceDetails, err := getInstance(cli, authToken, instance.Name)
handleError(err)
printResponse(instanceDetails)
log.Fatalf("Failed to wait for org instance to be ready")
}