Skip to content

Commit

Permalink
feat: ide preserve file permissions
Browse files Browse the repository at this point in the history
  • Loading branch information
4e6 committed Feb 1, 2025
1 parent b988b47 commit 21b8941
Show file tree
Hide file tree
Showing 3 changed files with 66 additions and 12 deletions.
12 changes: 10 additions & 2 deletions .github/workflows/ide-packaging-optional.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,11 +51,15 @@ jobs:
- run: ./run backend get
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Archive project-manager
run: tar -cvf project-manager.tar -C dist/backend .
- name: Upload project-manager
uses: actions/upload-artifact@v4
with:
name: project-manager-macos
path: dist/backend/
path: project-manager.tar
- name: Cleanup
run: rm project-manager.tar
- if: "(always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || inputs.clean_build_required)"
name: Clean after
run: ./run git-clean
Expand Down Expand Up @@ -150,11 +154,15 @@ jobs:
run: ./run git-clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: ls -l dist; ls -l dist/backend
- name: Download project-manager
uses: actions/download-artifact@v4
with:
name: project-manager-macos
path: dist/backend
- run: |-
| mkdir -p dist/backend
| tar -xvf project-manager.tar -C dist/backend
| rm project-manager.tar
- run: ls -l dist; ls -l dist/backend
- run: ./run ide build --backend-source local --gui-upload-artifact false
env:
Expand Down
24 changes: 20 additions & 4 deletions .github/workflows/ide-packaging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,11 +61,15 @@ jobs:
with:
name: fbs-schema
path: engine/language-server/src/main/schema/
- name: Archive project-manager
run: tar -cvf project-manager.tar -C dist/backend .
- name: Upload project-manager
uses: actions/upload-artifact@v4
with:
name: project-manager-linux
path: dist/backend/
path: project-manager.tar
- name: Cleanup
run: rm project-manager.tar
- if: "(always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || inputs.clean_build_required)"
name: Clean after
run: ./run git-clean
Expand Down Expand Up @@ -107,11 +111,15 @@ jobs:
- run: ./run backend get
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Archive project-manager
run: tar -cvf project-manager.tar -C dist/backend .
- name: Upload project-manager
uses: actions/upload-artifact@v4
with:
name: project-manager-windows
path: dist/backend/
path: project-manager.tar
- name: Cleanup
run: rm project-manager.tar
- if: "(always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || inputs.clean_build_required)"
name: Clean after
run: ./run git-clean
Expand Down Expand Up @@ -265,11 +273,15 @@ jobs:
run: ./run git-clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: ls -l dist; ls -l dist/backend
- name: Download project-manager
uses: actions/download-artifact@v4
with:
name: project-manager-linux
path: dist/backend
- run: |-
| mkdir -p dist/backend
| tar -xvf project-manager.tar -C dist/backend
| rm project-manager.tar
- run: ls -l dist; ls -l dist/backend
- run: ./run ide build --backend-source local --gui-upload-artifact false
env:
Expand Down Expand Up @@ -349,11 +361,15 @@ jobs:
run: ./run git-clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: ls -l dist; ls -l dist/backend
- name: Download project-manager
uses: actions/download-artifact@v4
with:
name: project-manager-windows
path: dist/backend
- run: |-
| mkdir -p dist/backend
| tar -xvf project-manager.tar -C dist/backend
| rm project-manager.tar
- run: ls -l dist; ls -l dist/backend
- run: ./run ide build --backend-source local --gui-upload-artifact false
env:
Expand Down
42 changes: 36 additions & 6 deletions build_tools/build/src/ci_gen/job.rs
Original file line number Diff line number Diff line change
Expand Up @@ -501,11 +501,25 @@ impl JobArchetype for BuildBackend {
steps.push(upload_fbs_schema)
}

let archive_project_manager = Step {
name: Some("Archive project-manager".into()),
run: Some("tar -cvf project-manager.tar -C dist/backend .".into()),
..Default::default()
};
steps.push(archive_project_manager);

let upload_project_manager = step::upload_artifact("Upload project-manager")
.with_custom_argument("name", format!("project-manager-{}", target.0))
.with_custom_argument("path", "dist/backend/");
.with_custom_argument("path", "project-manager.tar");
steps.push(upload_project_manager);

let cleanup = Step {
name: Some("Cleanup".into()),
run: Some("rm project-manager.tar".into()),
..Default::default()
};
steps.push(cleanup);

steps
})
.build_job("Build Backend", target)
Expand Down Expand Up @@ -657,18 +671,34 @@ impl JobArchetype for PackageIde {
"ide build --backend-source local --gui-upload-artifact false",
)
.customize(move |step| {
let mut steps = prepare_packaging_steps(target.0, step, PackagingTarget::Development);
let mut steps = vec![];

let ls = Step {
run: Some("ls -l dist; ls -l dist/backend".into()),
..Default::default()
};
steps.insert(0, ls);
steps.push(ls);

let download_project_manager = step::download_artifact("Download project-manager")
.with_custom_argument("name", format!("project-manager-{}", target.0))
.with_custom_argument("path", "dist/backend");
steps.insert(0, download_project_manager);
.with_custom_argument("name", format!("project-manager-{}", target.0));
steps.push(download_project_manager);

let unpack_project_manager = Step {
run: Some(r#"| mkdir -p dist/backend
| tar -xvf project-manager.tar -C dist/backend
| rm project-manager.tar"#.into()),
..Default::default()
};
steps.push(unpack_project_manager);

let ls1 = Step {
run: Some("ls -l dist; ls -l dist/backend".into()),
..Default::default()
};
steps.push(ls1);

let mut packaging_steps = prepare_packaging_steps(target.0, step, PackagingTarget::Development);
steps.append(&mut packaging_steps);

const TEST_COMMAND: &str = "corepack pnpm -r --filter enso exec playwright test";
let test_step = match target.0 {
Expand Down

0 comments on commit 21b8941

Please sign in to comment.