Mounting a file system to Github actions.


I am attempting to shift a workflow into the cloud.

So that I can keep costs down I am using Github actions to do some Mac specific stuff - build macOS install packages.

This is done using a tool - autopkg. Autopkg caches the application download and package between runs. Unfortunately this cache is too large for Github and can include files too big for Github actions. Package building has to happen on a Mac.

Since the next step is to do some uploading of the packages to multiple sites and run some Python to process th built packages and this can run on a small Linux EC2 instance it seems the logical solution is to provide a file system from AWS that autopkg can use as a cache and mount it on every Github action run.

I have been tearing my hair out attempting this with either S3 and S3fs or EFS and can't seem to wrap my head around how all the bits hang together. For testing I tried the mount native on my Mac and I tried it in amazonlinux and Debian Docker containers. I'm figuring the solution will be using NFS or efs-utils to mount an EFS volume but I can't get it working.

In a Debian container using efs-utils I got close but it seems I can't get the DNS name to resolve. The amazonlinux Docker container was too basic to get efs-utils to work.

I also got the aws command line tool installed but it runs in to the same DNS resolution problems. I tried connecting the underlying Mac to an AWS VPN in the same VPC as the file system. still had the same DNS problems.

Any help would be appreciated. I've just updated the question with some more stuff I have tried.

asked 2 years ago720 views
1 Answer

To connect to EFS from a local machine you need to use a VPN and you need to ensure that the DNS servers setup in the VPN connection allow for the resolution of the private zone in your VPC.

You can check this article for additional information on setting up DNS for a client VPN connection.

answered a year ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions