-
Notifications
You must be signed in to change notification settings - Fork 162
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
Remove DLLs build in other repo and download new ones from there #889
Conversation
The python script looks overall okay (haven't actually run it). The only two (maybe) issues I can see are:
|
The last line output before sys.exit(1) is already "No release matches".
The mxe commit to use when downloading is hardcoded in dldlls.py. Pull requests that want to update DLLs will change that commit id to the one of the corresponding pull request in the mxe repo. Pull requests that don't want to change the DLLs will of course continue to use the commit id that has been committed there previously. |
The unit got commented out in the .dpr file in 2015.
For the record: BASS 2.4.12 BASS_FX 2.4.11.1 GLEW 1.5.3 OpenCV 2.1 MESA 11.0.5 projectM 1.1
Had to tweak the python script a little. Downloading from workflow artifacts is now implemented correctly. Can someone with sufficient permissions (not an "Outside Collaborator" like me) create a fine grained personal access token that has read-only actions permissions for the mxe repository? The token will automatically be granted read-only metadata permissions. The maximum expiration date is one year from now. Then please add this token as a repository secret to the USDX repository and name it MxeActionsReadAccessToken. |
I do not have the permissions to do that. @basisbit could you please enable setting personal access tokens or give me the permissions to do so (https://docs.github.com/en/organizations/managing-programmatic-access-to-your-organization/setting-a-personal-access-token-policy-for-your-organization). |
@s09bQ5 Could you contact me on Discord? |
A token has been added as a secret. The CI is now able to use DLLs from workflow artifacts. |
We still need to work out the best way to handle DLL updates. I suggest:
|
Haven't looked too deeply into this, but seems like this breaks when trying to use it with PRs from forks. They don't get access to secrets iirc, see this build |
Hmm, enumerating and downloading releases works without authentication. Maybe the environment variable is set to an empty string and leads to an Authorization header without token? |
and
So that does seem to be the case. Is there any reason we can't e.g. |
We can, but the enumeration of the releases to determine the download link for the commit id fails because there is an invalid Authorization http header. The condition in dldlls.py that adds the header needs to be fixed. But maybe we do want to add the GITHUB_TOKEN instead because there is a huge difference in the number of API calls that can be made per hour with and without authorization. GITHUB_TOKEN won't work with workflow artifacts, though. |
This is related to UltraStar-Deluxe/mxe#1. It obsoletes #871.
Right now this PR doesn't build because the other repository does not have a release for 67f6a4f9305a2ee1508215ad4a861f23f7b8e3da and Github does not allow unauthenticated downloading of CI artifacts. If someone creates an API token with workflow read permissions, the python script is prepared to use it to download the DLLs from an artifact. When reviewing the python script, take into account that this is the first python script I have ever written. I restricted myself to use only the standard python library functions on purpose.
I still need to check if the license texts need to be updated.