From f99b0db27f1eb7ac67c6b3544e785f509273e39f Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Sun, 5 Jan 2025 10:00:52 -0500 Subject: [PATCH 1/3] enh: add encfs-repo support to ubuntu builds --- .../template/build-{{ostype}}.yaml.j2 | 19 +++++++++++++++++-- .github/workflows/template/specs.yml | 2 +- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/.github/workflows/template/build-{{ostype}}.yaml.j2 b/.github/workflows/template/build-{{ostype}}.yaml.j2 index 63fb3d186e..c7948fcfd2 100644 --- a/.github/workflows/template/build-{{ostype}}.yaml.j2 +++ b/.github/workflows/template/build-{{ostype}}.yaml.j2 @@ -458,6 +458,11 @@ jobs: sudo exportfs -a sudo mount -t nfs localhost:/tmp/nfsmount_ /tmp/nfsmount fi + if echo "${{ matrix.flavor }}" | grep -q "encfs" ; then + mkdir /tmp/encfsmount_ /tmp/encfsmount + sudo apt-get install -y encfs + encfs --standard --extpass="echo 123" /tmp/encfsmount_ /tmp/encfsmount + fi case "${{ matrix.flavor }}" in # For git-annex it causes only few temporary directories to be on the crippled FS, @@ -477,7 +482,7 @@ jobs: nfs-home) export HOME=/tmp/nfsmount ;; - normal|custom-config1) + normal|custom-config1|encfs-repo) ;; *) echo "Unknown flavor ${{ matrix.flavor }}" @@ -501,9 +506,19 @@ jobs: ;; esac - cd $HOME + case "${{ matrix.flavor }}" in + # Perform testing only (leaving TMP or HOME) aside in --repo flavors + # and generally under $HOME + encfs-repo) cd /tmp/encfsmount;; + *) cd $HOME;; + esac + export | grep -e crippledfs || : + # Report basic info about current path given that we might cd away + stat $PWD + df . || : + timeout 3600 git annex test "${test_opts[@]:-}" - name: Set final PR status diff --git a/.github/workflows/template/specs.yml b/.github/workflows/template/specs.yml index 7c991fdc57..d2bb0b1a6a 100644 --- a/.github/workflows/template/specs.yml +++ b/.github/workflows/template/specs.yml @@ -7,7 +7,7 @@ DEB_SIGN_KEYID: 13A1093296154584245E0300C98FC49D36DAB17F DEB_BUILD_OPTIONS: nocheck bbuild_log: git-annex-build.log - test_annex_flavors: [normal, crippled-tmp, crippled-home, nfs-home, custom-config1] + test_annex_flavors: [normal, crippled-tmp, crippled-home, nfs-home, custom-config1, encfs-repo] # nfs-tmp was removed/replaced with nfs-home since annex started to use TMPDIR for gpg, and tests started to fail artifact_basename: git-annex-debianstandalone-packages artifact_install_steps: From ec5f0a041bb5cae81045f41988551b3ae54ecf85 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Mon, 6 Jan 2025 09:02:16 -0500 Subject: [PATCH 2/3] Use bashism for encfs matching Co-authored-by: John T. Wodder II --- .github/workflows/template/build-{{ostype}}.yaml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/template/build-{{ostype}}.yaml.j2 b/.github/workflows/template/build-{{ostype}}.yaml.j2 index c7948fcfd2..12c02e5155 100644 --- a/.github/workflows/template/build-{{ostype}}.yaml.j2 +++ b/.github/workflows/template/build-{{ostype}}.yaml.j2 @@ -458,7 +458,7 @@ jobs: sudo exportfs -a sudo mount -t nfs localhost:/tmp/nfsmount_ /tmp/nfsmount fi - if echo "${{ matrix.flavor }}" | grep -q "encfs" ; then + if [[ "${{ matrix.flavor }}" == *encfs* ]] ; then mkdir /tmp/encfsmount_ /tmp/encfsmount sudo apt-get install -y encfs encfs --standard --extpass="echo 123" /tmp/encfsmount_ /tmp/encfsmount From 9a8753a50f9c8ec7a76d92e537a7ad03d07ae145 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Thu, 26 Jun 2025 22:00:43 -0400 Subject: [PATCH 3/3] [DATALAD RUNCMD] regenerate templates after modifying workflow === Do not change lines below === { "chain": [ "47fa1b854c9e94abc0fe7aadb8df8a8cd6525808" ], "cmd": "make -C .github/workflows/template", "exit": 0, "extra_inputs": [], "inputs": [], "outputs": [], "pwd": "." } ^^^ Do not change lines above ^^^ --- .github/workflows/build-macos.yaml | 23 +++++++++++++++++++---- .github/workflows/build-ubuntu.yaml | 25 ++++++++++++++++++++----- .github/workflows/build-windows.yaml | 16 +++++++++++++--- 3 files changed, 52 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build-macos.yaml b/.github/workflows/build-macos.yaml index 0f9640ec48..56518b1c42 100644 --- a/.github/workflows/build-macos.yaml +++ b/.github/workflows/build-macos.yaml @@ -169,7 +169,7 @@ jobs: - name: Send e-mail on failed run if: failure() && contains(fromJSON('["schedule", "workflow_dispatch"]'), github.event_name) - uses: dawidd6/action-send-mail@v6 + uses: dawidd6/action-send-mail@v4 with: server_address: ${{ secrets.NOTIFY_SMTP_HOST }} server_port: ${{ secrets.NOTIFY_SMTP_PORT }} @@ -248,6 +248,11 @@ jobs: sudo exportfs -a sudo mount -t nfs localhost:/tmp/nfsmount_ /tmp/nfsmount fi + if [[ "${{ matrix.flavor }}" == *encfs* ]] ; then + mkdir /tmp/encfsmount_ /tmp/encfsmount + sudo apt-get install -y encfs + encfs --standard --extpass="echo 123" /tmp/encfsmount_ /tmp/encfsmount + fi case "${{ matrix.flavor }}" in # For git-annex it causes only few temporary directories to be on the crippled FS, @@ -267,7 +272,7 @@ jobs: nfs-home) export HOME=/tmp/nfsmount ;; - normal|custom-config1) + normal|custom-config1|encfs-repo) ;; *) echo "Unknown flavor ${{ matrix.flavor }}" @@ -290,9 +295,19 @@ jobs: ;; esac - cd $HOME + case "${{ matrix.flavor }}" in + # Perform testing only (leaving TMP or HOME) aside in --repo flavors + # and generally under $HOME + encfs-repo) cd /tmp/encfsmount;; + *) cd $HOME;; + esac + export | grep -e crippledfs || : + # Report basic info about current path given that we might cd away + stat $PWD + df . || : + timeout 3600 git annex test "${test_opts[@]:-}" - name: Set final PR status @@ -308,7 +323,7 @@ jobs: - name: Send e-mail on failed run if: failure() && contains(fromJSON('["schedule", "workflow_dispatch"]'), github.event_name) - uses: dawidd6/action-send-mail@v6 + uses: dawidd6/action-send-mail@v4 with: server_address: ${{ secrets.NOTIFY_SMTP_HOST }} server_port: ${{ secrets.NOTIFY_SMTP_PORT }} diff --git a/.github/workflows/build-ubuntu.yaml b/.github/workflows/build-ubuntu.yaml index 68556720ae..4b8b947195 100644 --- a/.github/workflows/build-ubuntu.yaml +++ b/.github/workflows/build-ubuntu.yaml @@ -225,7 +225,7 @@ jobs: - name: Send e-mail on failed run if: failure() && contains(fromJSON('["schedule", "workflow_dispatch"]'), github.event_name) - uses: dawidd6/action-send-mail@v6 + uses: dawidd6/action-send-mail@v4 with: server_address: ${{ secrets.NOTIFY_SMTP_HOST }} server_port: ${{ secrets.NOTIFY_SMTP_PORT }} @@ -244,7 +244,7 @@ jobs: needs: build-package strategy: matrix: - flavor: ["normal", "crippled-tmp", "crippled-home", "nfs-home", "custom-config1"] + flavor: ["normal", "crippled-tmp", "crippled-home", "nfs-home", "custom-config1", "encfs-repo"] os: [ubuntu-22.04] fail-fast: false steps: @@ -297,6 +297,11 @@ jobs: sudo exportfs -a sudo mount -t nfs localhost:/tmp/nfsmount_ /tmp/nfsmount fi + if [[ "${{ matrix.flavor }}" == *encfs* ]] ; then + mkdir /tmp/encfsmount_ /tmp/encfsmount + sudo apt-get install -y encfs + encfs --standard --extpass="echo 123" /tmp/encfsmount_ /tmp/encfsmount + fi case "${{ matrix.flavor }}" in # For git-annex it causes only few temporary directories to be on the crippled FS, @@ -316,7 +321,7 @@ jobs: nfs-home) export HOME=/tmp/nfsmount ;; - normal|custom-config1) + normal|custom-config1|encfs-repo) ;; *) echo "Unknown flavor ${{ matrix.flavor }}" @@ -339,9 +344,19 @@ jobs: ;; esac - cd $HOME + case "${{ matrix.flavor }}" in + # Perform testing only (leaving TMP or HOME) aside in --repo flavors + # and generally under $HOME + encfs-repo) cd /tmp/encfsmount;; + *) cd $HOME;; + esac + export | grep -e crippledfs || : + # Report basic info about current path given that we might cd away + stat $PWD + df . || : + timeout 3600 git annex test "${test_opts[@]:-}" - name: Set final PR status @@ -357,7 +372,7 @@ jobs: - name: Send e-mail on failed run if: failure() && contains(fromJSON('["schedule", "workflow_dispatch"]'), github.event_name) - uses: dawidd6/action-send-mail@v6 + uses: dawidd6/action-send-mail@v4 with: server_address: ${{ secrets.NOTIFY_SMTP_HOST }} server_port: ${{ secrets.NOTIFY_SMTP_PORT }} diff --git a/.github/workflows/build-windows.yaml b/.github/workflows/build-windows.yaml index 36ce2f36a3..30086cb0a2 100644 --- a/.github/workflows/build-windows.yaml +++ b/.github/workflows/build-windows.yaml @@ -192,7 +192,7 @@ jobs: - name: Send e-mail on failed run if: failure() && contains(fromJSON('["schedule", "workflow_dispatch"]'), github.event_name) - uses: dawidd6/action-send-mail@v6 + uses: dawidd6/action-send-mail@v4 with: server_address: ${{ secrets.NOTIFY_SMTP_HOST }} server_port: ${{ secrets.NOTIFY_SMTP_PORT }} @@ -278,9 +278,19 @@ jobs: ;; esac - cd $HOME + case "${{ matrix.flavor }}" in + # Perform testing only (leaving TMP or HOME) aside in --repo flavors + # and generally under $HOME + encfs-repo) cd /tmp/encfsmount;; + *) cd $HOME;; + esac + export | grep -e crippledfs || : + # Report basic info about current path given that we might cd away + stat $PWD + df . || : + timeout 3600 git annex test "${test_opts[@]:-}" - name: Set final PR status @@ -296,7 +306,7 @@ jobs: - name: Send e-mail on failed run if: failure() && contains(fromJSON('["schedule", "workflow_dispatch"]'), github.event_name) - uses: dawidd6/action-send-mail@v6 + uses: dawidd6/action-send-mail@v4 with: server_address: ${{ secrets.NOTIFY_SMTP_HOST }} server_port: ${{ secrets.NOTIFY_SMTP_PORT }}