- 
                Notifications
    
You must be signed in to change notification settings  - Fork 144
 
Fix i386 CI job + switch ARM jobs to self-hosted runners #571
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
b8ff3b0    to
    db82ba8      
    Compare
  
            
          
                .github/workflows/ci.yml
              
                Outdated
          
        
      | matrix: | ||
| arch: [arm32v7, arm64v8] | ||
| steps: | ||
| - uses: docker://arm64v8/ubuntu:focal | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@hasufell I copied this incantation from your example, but could you advice what's the deal here? Why do we need an ARM container to run find -delete? Could it be the same container as below, in build steps?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm also unclear on this. And we seem to use an arm64v8 container in both versions of the job. Is this right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That’s fine. I assume the only thing which matters is to run rm under docker to get correct access rights. Basically any container would do.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, the problem is that the self hosted runners are just processes on the host and don't run in temporary environments.
Since we run docker, the resulting files will be owned by root instead of the github user and the next actions/checkout will fail (because it runs as github user).
| # back to emulation jobs above. | ||
| arm: | ||
| needs: build | ||
| runs-on: [self-hosted, Linux, ARM64] | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only one of the runners can execute 32bit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you sure? I have not spot any issues so far using both runners.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok @angerman says the aarch64-linux-2-1-new machine can do EL0 AArch32 (32bit applications), just no full system AArch32 emulation.
* Fix i386 build * Use self-hosted runners for ARM * Simplify ARM CI jobs
No description provided.