Skip to content

Commit d86d444

Browse files
committed
Merge branch 'main' of https://github.com/files-community/Files into terminal
2 parents a5e9913 + 98d5e9f commit d86d444

File tree

1,079 files changed

+32123
-22228
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,079 files changed

+32123
-22228
lines changed
File renamed without changes.

.github/FUNDING.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
github: [yaira2, Josh65-2201, chingucoding, gave92]
1+
github: [yaira2, Josh65-2201, marcelwgn, gave92]

.github/ISSUE_TEMPLATE/code_quality_issue.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ body:
2121
value: |
2222
- eg. A better readability.
2323
- eg. Uncoupling concepts X and Y.
24-
- eg. Clarifying the responsability of class C.
24+
- eg. Clarifying the responsibility of class C.
2525
validations:
2626
required: true
2727
- type: textarea

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,6 @@ contact_links:
33
- name: Translation issue
44
url: https://crowdin.com/project/files-app
55
about: Help improve translations on Crowdin.
6+
- name: Question & Discussion
7+
url: https://discord.gg/files
8+
about: Post your questions and join the discussion. You can participate in chats on every channel.

NOTICE.md renamed to .github/NOTICE.md

Lines changed: 764 additions & 764 deletions
Large diffs are not rendered by default.
File renamed without changes.
File renamed without changes.

README.md renamed to .github/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<p align="center">
2-
<img alt="Files Logo" src="src/Files.App%20(Package)/Assets/AppTiles/Release/StoreLogo.scale-400.png" width="100px" />
2+
<img alt="Files Logo" src="../src/Files.App%20(Package)/Assets/AppTiles/Release/StoreLogo.scale-400.png" width="100px" />
33
<h1 align="center">Files</h1>
44
</p>
55

@@ -19,11 +19,11 @@ Files also offers advanced features such as file tagging for easy organization,
1919

2020
- [Visual Studio 2022](https://visualstudio.microsoft.com/vs/) with the following individual components:
2121
- Windows 11 SDK (10.0.22621.0)
22-
- .NET 7 SDK
22+
- .NET 8 SDK
2323
- MSVC v143 - VS 2022 C++ x64/x86 or ARM64 build tools (latest)
2424
- C++ ATL for latest v143 build tools (x86 & x64 or ARM64)
2525
- Git for Windows
26-
- [Windows App SDK 1.4](https://learn.microsoft.com/windows/apps/windows-app-sdk/downloads#current-releases)
26+
- [Windows App SDK 1.5](https://learn.microsoft.com/windows/apps/windows-app-sdk/downloads#current-releases)
2727

2828
### 2. Clone the repository
2929

@@ -48,4 +48,4 @@ Looking for a place to start? Check out the [task board](https://github.com/orgs
4848

4949
## Screenshots
5050

51-
![Files](assets/FilesScreenshot.png)
51+
![Files](../assets/FilesScreenshot.png)

.github/workflows/cd-preview.yml

Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
# Copyright (c) 2024 Files Community
2+
# Licensed under the MIT License. See the LICENSE.
3+
4+
name: Files CD (Preview)
5+
6+
on:
7+
workflow_dispatch:
8+
9+
jobs:
10+
build:
11+
runs-on: windows-latest
12+
environment: Deployments
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
configuration: [Preview]
17+
platform: [x64]
18+
env:
19+
SOLUTION_NAME: 'Files.sln'
20+
PACKAGE_PROJECT_DIR: 'src\Files.App (Package)'
21+
PACKAGE_PROJECT_PATH: 'src\Files.App (Package)\Files.Package.wapproj'
22+
TEST_PROJECT_PATH: 'tests\Files.InteractionTests\Files.InteractionTests.csproj'
23+
CONFIGURATION: ${{ matrix.configuration }}
24+
PLATFORM: ${{ matrix.platform }}
25+
APPX_BUNDLE_PLATFORMS: 'x64|arm64'
26+
WORKING_DIR: ${{ github.workspace }} # Default: D:\a\Files\Files\
27+
ARTIFACTS_STAGING_DIR: ${{ github.workspace }}\artifacts
28+
APPX_PACKAGE_DIR: ${{ github.workspace }}\artifacts\AppxPackages
29+
30+
steps:
31+
- name: Checkout the repository
32+
uses: actions/checkout@v4
33+
- name: Setup MSBuild
34+
uses: microsoft/setup-msbuild@v1
35+
- name: Setup NuGet
36+
uses: NuGet/setup-nuget@v1.1.1
37+
- name: Setup .NET 8
38+
uses: actions/setup-dotnet@v3
39+
with:
40+
dotnet-version: '8.0.x'
41+
42+
- name: Configure the package manifest, logo sets, and secrets
43+
shell: pwsh
44+
run: |
45+
. './scripts/Configure-AppxManifest.ps1' `
46+
-Branch "$env:CONFIGURATION" `
47+
-PackageProjectDir "$env:PACKAGE_PROJECT_DIR" `
48+
-Publisher "$env:SIDELOAD_PUBLISHER_SECRET" `
49+
-WorkingDir "$env:WORKING_DIR" `
50+
-SecretBingMapsKey "$env:SECRET_BINGMAPS_KEY" `
51+
-SecretAppCenter "$env:SECRET_APPCENTER" `
52+
-SecretGitHubOAuthClientId "$env:SECRET_GITHUB_OAUTH_CLIENT_ID"
53+
env:
54+
SIDELOAD_PUBLISHER_SECRET: ${{ secrets.SIDELOAD_PUBLISHER_SECRET }}
55+
SECRET_BINGMAPS_KEY: ${{ secrets.BING_MAPS_SECRET }}
56+
SECRET_APPCENTER: ${{ secrets.APP_CENTER_SECRET }}
57+
SECRET_GITHUB_OAUTH_CLIENT_ID: ${{ secrets.GH_OAUTH_CLIENT_ID }}
58+
59+
- name: Use Windows SDK Preview
60+
shell: cmd
61+
run: |
62+
for /f %%a in ('dir /b /a:d %localappdata%\Microsoft\VisualStudio\17*') do echo UsePreviews=True>%localappdata%\Microsoft\VisualStudio\%%a\sdk.txt
63+
64+
- name: Restore NuGet
65+
shell: pwsh
66+
run: 'nuget restore $env:SOLUTION_NAME'
67+
68+
- name: Restore ${{ env.SOLUTION_NAME }}
69+
shell: pwsh
70+
run: |
71+
msbuild $env:SOLUTION_NAME `
72+
-t:Restore `
73+
-p:Platform=$env:PLATFORM `
74+
-p:Configuration=$env:CONFIGURATION `
75+
-p:PublishReadyToRun=true
76+
77+
- name: Build ${{ env.SOLUTION_NAME }}
78+
shell: pwsh
79+
run: |
80+
msbuild "$env:PACKAGE_PROJECT_PATH" `
81+
-t:Build `
82+
-t:_GenerateAppxPackage `
83+
-p:Platform=$env:PLATFORM `
84+
-p:Configuration=$env:CONFIGURATION `
85+
-p:AppxBundlePlatforms=$env:APPX_BUNDLE_PLATFORMS `
86+
-p:AppxPackageDir="$env:APPX_PACKAGE_DIR" `
87+
-p:AppxBundle=Always `
88+
-p:UapAppxPackageBuildMode=Sideload `
89+
-p:GenerateAppInstallerFile=True `
90+
-p:AppInstallerUri=https://cdn.files.community/files/preview/
91+
92+
- name: Remove empty files from the packages
93+
shell: bash
94+
run: find $ARTIFACTS_STAGING_DIR -empty -delete
95+
96+
- name: Update appinstaller schema
97+
run: |
98+
$newSchema = "http://schemas.microsoft.com/appx/appinstaller/2018"
99+
$localFilePath = "${{ env.APPX_PACKAGE_DIR }}/Files.Package.appinstaller"
100+
$fileContent = Get-Content $localFilePath
101+
$fileContent = $fileContent.Replace("http://schemas.microsoft.com/appx/appinstaller/2017/2", $newSchema)
102+
$fileContent | Set-Content $localFilePath
103+
104+
- name: Sign files with Azure Trusted Signing
105+
uses: azure/trusted-signing-action@v0.3.16
106+
with:
107+
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
108+
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
109+
azure-client-secret: ${{ secrets.AZURE_CLIENT_SECRET }}
110+
endpoint: https://eus.codesigning.azure.net/
111+
code-signing-account-name: ${{ secrets.SIGNING_ACCOUNT_NAME }}
112+
certificate-profile-name: ${{ secrets.SIGNING_PROFILE_NAME }}
113+
files-folder: ${{ env.APPX_PACKAGE_DIR }}
114+
files-folder-filter: msixbundle
115+
files-folder-recurse: true
116+
files-folder-depth: 4
117+
file-digest: SHA256
118+
timestamp-rfc3161: http://timestamp.acs.microsoft.com
119+
timestamp-digest: SHA256
120+
121+
- name: Login to Azure
122+
uses: azure/login@v1
123+
with:
124+
creds: ${{ secrets.AZURE_CREDENTIALS }}
125+
126+
- name: Upload to Azure blob storage
127+
uses: azure/powershell@v1
128+
with:
129+
inlineScript: |
130+
az storage blob upload-batch --account-name "filescommunity" --destination "files" --destination-path "preview" --source ${{ env.APPX_PACKAGE_DIR }} --overwrite true
131+
azPSVersion: "latest"
132+
133+
- name: Logout from Azure
134+
run: 'az logout'
135+
136+
- name: Upload the packages to GitHub Actions
137+
uses: actions/upload-artifact@v3
138+
with:
139+
name: 'Appx Packages (${{ env.CONFIGURATION }}, ${{ env.PLATFORM }})'
140+
path: ${{ env.ARTIFACTS_STAGING_DIR }}

.github/workflows/cd-stable.yml

Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
# Copyright (c) 2024 Files Community
2+
# Licensed under the MIT License. See the LICENSE.
3+
4+
name: Files CD (Stable)
5+
6+
on:
7+
workflow_dispatch:
8+
9+
jobs:
10+
build:
11+
runs-on: windows-latest
12+
environment: Deployments
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
configuration: [Stable]
17+
platform: [x64]
18+
env:
19+
SOLUTION_NAME: 'Files.sln'
20+
PACKAGE_PROJECT_DIR: 'src\Files.App (Package)'
21+
PACKAGE_PROJECT_PATH: 'src\Files.App (Package)\Files.Package.wapproj'
22+
TEST_PROJECT_PATH: 'tests\Files.InteractionTests\Files.InteractionTests.csproj'
23+
CONFIGURATION: ${{ matrix.configuration }}
24+
PLATFORM: ${{ matrix.platform }}
25+
APPX_BUNDLE_PLATFORMS: 'x64|arm64'
26+
WORKING_DIR: ${{ github.workspace }} # Default: D:\a\Files\Files\
27+
ARTIFACTS_STAGING_DIR: ${{ github.workspace }}\artifacts
28+
APPX_PACKAGE_DIR: ${{ github.workspace }}\artifacts\AppxPackages
29+
30+
steps:
31+
- name: Checkout the repository
32+
uses: actions/checkout@v4
33+
- name: Setup MSBuild
34+
uses: microsoft/setup-msbuild@v1
35+
- name: Setup NuGet
36+
uses: NuGet/setup-nuget@v1.1.1
37+
- name: Setup .NET 8
38+
uses: actions/setup-dotnet@v3
39+
with:
40+
dotnet-version: '8.0.x'
41+
42+
- name: Configure the package manifest, logo sets, and secrets
43+
shell: pwsh
44+
run: |
45+
. './scripts/Configure-AppxManifest.ps1' `
46+
-Branch "$env:CONFIGURATION" `
47+
-PackageProjectDir "$env:PACKAGE_PROJECT_DIR" `
48+
-Publisher "$env:SIDELOAD_PUBLISHER_SECRET" `
49+
-WorkingDir "$env:WORKING_DIR" `
50+
-SecretBingMapsKey "$env:SECRET_BINGMAPS_KEY" `
51+
-SecretAppCenter "$env:SECRET_APPCENTER" `
52+
-SecretGitHubOAuthClientId "$env:SECRET_GITHUB_OAUTH_CLIENT_ID"
53+
env:
54+
SIDELOAD_PUBLISHER_SECRET: ${{ secrets.SIDELOAD_PUBLISHER_SECRET }}
55+
SECRET_BINGMAPS_KEY: ${{ secrets.BING_MAPS_SECRET }}
56+
SECRET_APPCENTER: ${{ secrets.APP_CENTER_SECRET }}
57+
SECRET_GITHUB_OAUTH_CLIENT_ID: ${{ secrets.GH_OAUTH_CLIENT_ID }}
58+
59+
- name: Use Windows SDK Preview
60+
shell: cmd
61+
run: |
62+
for /f %%a in ('dir /b /a:d %localappdata%\Microsoft\VisualStudio\17*') do echo UsePreviews=True>%localappdata%\Microsoft\VisualStudio\%%a\sdk.txt
63+
64+
- name: Restore NuGet
65+
shell: pwsh
66+
run: 'nuget restore $env:SOLUTION_NAME'
67+
68+
- name: Restore ${{ env.SOLUTION_NAME }}
69+
shell: pwsh
70+
run: |
71+
msbuild $env:SOLUTION_NAME `
72+
-t:Restore `
73+
-p:Platform=$env:PLATFORM `
74+
-p:Configuration=$env:CONFIGURATION `
75+
-p:PublishReadyToRun=true
76+
77+
- name: Build ${{ env.SOLUTION_NAME }}
78+
shell: pwsh
79+
run: |
80+
msbuild "$env:PACKAGE_PROJECT_PATH" `
81+
-t:Build `
82+
-t:_GenerateAppxPackage `
83+
-p:Platform=$env:PLATFORM `
84+
-p:Configuration=$env:CONFIGURATION `
85+
-p:AppxBundlePlatforms=$env:APPX_BUNDLE_PLATFORMS `
86+
-p:AppxPackageDir="$env:APPX_PACKAGE_DIR" `
87+
-p:AppxBundle=Always `
88+
-p:UapAppxPackageBuildMode=Sideload `
89+
-p:GenerateAppInstallerFile=True `
90+
-p:AppInstallerUri=https://cdn.files.community/files/stable/
91+
92+
- name: Remove empty files from the packages
93+
shell: bash
94+
run: find $ARTIFACTS_STAGING_DIR -empty -delete
95+
96+
- name: Update appinstaller schema
97+
run: |
98+
$newSchema = "http://schemas.microsoft.com/appx/appinstaller/2018"
99+
$localFilePath = "${{ env.APPX_PACKAGE_DIR }}/Files.Package.appinstaller"
100+
$fileContent = Get-Content $localFilePath
101+
$fileContent = $fileContent.Replace("http://schemas.microsoft.com/appx/appinstaller/2017/2", $newSchema)
102+
$fileContent | Set-Content $localFilePath
103+
104+
- name: Sign files with Azure Trusted Signing
105+
uses: azure/trusted-signing-action@v0.3.16
106+
with:
107+
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
108+
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
109+
azure-client-secret: ${{ secrets.AZURE_CLIENT_SECRET }}
110+
endpoint: https://eus.codesigning.azure.net/
111+
code-signing-account-name: ${{ secrets.SIGNING_ACCOUNT_NAME }}
112+
certificate-profile-name: ${{ secrets.SIGNING_PROFILE_NAME }}
113+
files-folder: ${{ env.APPX_PACKAGE_DIR }}
114+
files-folder-filter: msixbundle
115+
files-folder-recurse: true
116+
files-folder-depth: 4
117+
file-digest: SHA256
118+
timestamp-rfc3161: http://timestamp.acs.microsoft.com
119+
timestamp-digest: SHA256
120+
121+
- name: Login to Azure
122+
uses: azure/login@v1
123+
with:
124+
creds: ${{ secrets.AZURE_CREDENTIALS }}
125+
126+
- name: Upload to Azure blob storage
127+
uses: azure/powershell@v1
128+
with:
129+
inlineScript: |
130+
az storage blob upload-batch --account-name "filescommunity" --destination "files" --destination-path "stable" --source ${{ env.APPX_PACKAGE_DIR }} --overwrite true
131+
azPSVersion: "latest"
132+
133+
- name: Logout from Azure
134+
run: 'az logout'
135+
136+
- name: Upload the packages to GitHub Actions
137+
uses: actions/upload-artifact@v3
138+
with:
139+
name: 'Appx Packages (${{ env.CONFIGURATION }}, ${{ env.PLATFORM }})'
140+
path: ${{ env.ARTIFACTS_STAGING_DIR }}

0 commit comments

Comments
 (0)