-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
89b9a60
commit c857906
Showing
1 changed file
with
104 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
name: Package kDrive desktop on all platforms | ||
|
||
on: | ||
push: | ||
branches: | ||
- 'RELEASE-**' | ||
workflow_dispatch: | ||
|
||
concurrency: | ||
group: packaging | ||
cancel-in-progress: true | ||
|
||
env: | ||
KDRIVE_TOKEN: ${{ secrets.KDRIVE_TOKEN }} | ||
KDRIVE_ID: ${{ secrets.KDRIVE_ID }} | ||
KDRIVE_DIR_ID: ${{ secrets.KDRIVE_DIR_ID }} | ||
ALTOOL_USERNAME: ${{ secrets.ALTOOL_USERNAME }} | ||
|
||
jobs: | ||
package-Windows: | ||
runs-on: [ self-hosted, Windows, desktop-kDrive ] | ||
env: | ||
BRANCH_NAME: ${{ github.ref_name || inputs.BRANCH }} | ||
steps: | ||
- name: Checkout the PR | ||
uses: actions/checkout@v4.1.1 | ||
with: | ||
ref: ${{ env.BRANCH_NAME }} # actions/checkout might not access wildcards, this needs to be tested by having the workflow in a RELEASE branch. | ||
submodules: recursive | ||
|
||
- name: Restore extension packages | ||
run : nuget restore extensions/windows/cfapi/kDriveExt.sln | ||
|
||
- name: Import Windows virtual certificate | ||
env: | ||
WINDOWS_VIRTUAL_CERT: ${{ secrets.WINDOWS_VIRTUAL_CERT }} | ||
WINDOWS_VIRTUAL_CERT_PASSWORD: ${{ secrets.WINDOWS_VIRTUAL_CERT_PASSWORD }} | ||
run: | | ||
New-Item -ItemType directory -Path certificate | ||
Set-Content -Path certificate/tempCert.txt -Value $env:WINDOWS_VIRTUAL_CERT | ||
certutil -decode certificate/tempCert.txt certificate/certificate.pfx | ||
Remove-Item -path certificate -include tempCert.txt | ||
Import-PfxCertificate -FilePath certificate/certificate.pfx -CertStoreLocation Cert:\CurrentUser\My -Password (ConvertTo-SecureString -String $env:WINDOWS_VIRTUAL_CERT_PASSWORD -Force -AsPlainText) | ||
- name: Build and package kDrive desktop | ||
run: | | ||
call "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Auxiliary/Build/vcvars64.bat" | ||
powershell ./infomaniak-build-tools/windows/build-drive.ps1 | ||
shell: cmd | ||
|
||
- name: Upload to kDrive | ||
run: powershell ./infomaniak-build-tools/windows/upload-ci.ps1 | ||
|
||
- name: Clean-up generated code | ||
run : powershell ./infomaniak-build-tools/windows/build-drive.ps1 -clean all | ||
|
||
package-Linux: | ||
runs-on: [ self-hosted, Linux, X64, desktop-kdrive ] | ||
env: | ||
BRANCH_NAME: ${{ github.ref_name || inputs.BRANCH }} | ||
steps: | ||
- name: Checkout the PR | ||
uses: actions/checkout@v4.1.1 | ||
with: | ||
ref: ${{ env.BRANCH_NAME }} | ||
submodules: recursive | ||
|
||
- name: Grant building script execute permission | ||
run : chmod +x ./infomaniak-build-tools/linux/build-ci-amd64.sh | ||
- name: Build kDrive desktop | ||
run : ./infomaniak-build-tools/linux/build-ci-amd64.sh release | ||
|
||
- name: Grant packaging script execute permission | ||
run : chmod +x ./infomaniak-build-tools/linux/package-ci-amd64.sh | ||
- name: Package kDrive desktop and upload to kDrive | ||
run : ./infomaniak-build-tools/linux/package-ci-amd64.sh | ||
|
||
- name: Clean-up generated code | ||
run : rm -rf build-linux | ||
|
||
package-MacOS: | ||
runs-on: [ self-hosted, macOS, desktop-kdrive ] | ||
env: | ||
BRANCH_NAME: ${{ github.ref_name || inputs.BRANCH }} | ||
steps: | ||
- name: Checkout the PR | ||
uses: actions/checkout@v4.1.1 | ||
with: | ||
ref: ${{ env.BRANCH_NAME }} | ||
submodules: recursive | ||
|
||
- name: Unlock keychain to use the certificate | ||
run : security unlock-keychain -p '${{ secrets.KEYCHAIN_PASSWORD }}' login.keychain | ||
|
||
- name: Build and package kDrive desktop | ||
run : ./infomaniak-build-tools/macos/build-drive.sh | ||
|
||
- name: Grant upload script execute permission | ||
run : chmod +x ./infomaniak-build-tools/macos/upload-ci.sh | ||
- name: Upload to kDrive | ||
run : ./infomaniak-build-tools/macos/upload-ci.sh | ||
|
||
- name: Clean-up generated code | ||
run : rm -rf build-macos |