From 03d440cecc1089ec86ab92f891199575f6d9b216 Mon Sep 17 00:00:00 2001 From: David Turner Date: Mon, 30 Oct 2023 12:41:46 -0400 Subject: [PATCH 01/20] Update runs-on and python-version Set runs on for conda build to use macos arm runners and python 3.8 through 3.11 --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 710ed5da..0172e139 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -38,8 +38,8 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-20.04, macos-latest] - python-version: [3.8] + os: [ubuntu-20.04, macos-latest, macos-latest-xlarge] + python-version: [3.8, 3.9, 3.10, 3.11] steps: - uses: actions/checkout@v2 - uses: mamba-org/setup-micromamba@v1 From ec1444295068cde40e42e2862365b2e59095c242 Mon Sep 17 00:00:00 2001 From: David Turner Date: Mon, 30 Oct 2023 12:43:12 -0400 Subject: [PATCH 02/20] Fix python versions --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0172e139..ce5ae772 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -39,7 +39,7 @@ jobs: strategy: matrix: os: [ubuntu-20.04, macos-latest, macos-latest-xlarge] - python-version: [3.8, 3.9, 3.10, 3.11] + python-version: ['3.8', '3.9', '3.10', '3.11'] steps: - uses: actions/checkout@v2 - uses: mamba-org/setup-micromamba@v1 From 242d53525eeaedcbe78a3edb36760a5f89b58313 Mon Sep 17 00:00:00 2001 From: David Turner Date: Mon, 30 Oct 2023 13:00:17 -0400 Subject: [PATCH 03/20] Code format errors. --- brainiak/reprsimil/brsa.py | 41 +++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/brainiak/reprsimil/brsa.py b/brainiak/reprsimil/brsa.py index eadd7ec3..1d17500b 100755 --- a/brainiak/reprsimil/brsa.py +++ b/brainiak/reprsimil/brsa.py @@ -2322,7 +2322,8 @@ def _loglike_AR1_diagV_fitU(self, param, XTX, XTDX, XTFX, YTY_diag, - np.dot(invX0TAX0_X0TAX_ele.T, dX0TAY_drho1[:, i_v]) \ - np.dot(dXTAX0_drho1[i_v, :, :], invX0TAX0_X0TAY_ele) \ + np.linalg.multi_dot([invX0TAX0_X0TAX_ele.T, - dX0TAX0_drho1[i_v, :, :], invX0TAX0_X0TAY_ele]) + dX0TAX0_drho1[i_v, :, :], + invX0TAX0_X0TAY_ele]) dYTAcorrY_drho1_ele = dYTAY_drho1[i_v] \ - np.dot(dX0TAY_drho1[:, i_v], invX0TAX0_X0TAY_ele) * 2\ + np.dot(np.dot(invX0TAX0_X0TAY_ele, dX0TAX0_drho1[i_v, :, :]), @@ -2332,7 +2333,8 @@ def _loglike_AR1_diagV_fitU(self, param, XTX, XTDX, XTFX, YTY_diag, - np.einsum('ij,ij', X0TAX0_i[i_v, :, :], dX0TAX0_drho1[i_v, :, :]) * 0.5 - np.einsum('ij,ij', LAMBDA[i_v, :, :], - np.linalg.multi_dot([L.T, dXTAcorrX_drho1_ele, L])) + np.linalg.multi_dot([L.T, + dXTAcorrX_drho1_ele, L])) * (SNR2[i_v] * 0.5) - dYTAcorrY_drho1_ele * 0.5 / sigma2[i_v] + SNR2[i_v] / sigma2[i_v] @@ -2340,8 +2342,8 @@ def _loglike_AR1_diagV_fitU(self, param, XTX, XTDX, XTFX, YTY_diag, YTAcorrXL_LAMBDA_LT[i_v, :]) - (0.5 * SNR2[i_v]**2 / sigma2[i_v]) * np.linalg.multi_dot([YTAcorrXL_LAMBDA_LT[i_v, :], - dXTAcorrX_drho1_ele, - YTAcorrXL_LAMBDA_LT[i_v, :]])) + dXTAcorrX_drho1_ele, + YTAcorrXL_LAMBDA_LT[i_v, :]])) deriv = np.empty(np.size(param)) deriv[idx_param_fitU['Cholesky']] = deriv_L[l_idx] @@ -2478,7 +2480,7 @@ def _loglike_AR1_diagV_fitV(self, param, deriv_c_space = \ (np.linalg.multi_dot([invK_tilde_log_SNR, dK_tilde_dl2_space, - invK_tilde_log_SNR]) / tau2 / 2.0 + invK_tilde_log_SNR]) / tau2 / 2.0 - np.sum(inv_K_tilde * dK_tilde_dl2_space) / 2.0)\ * dl2_dc_space @@ -2492,8 +2494,9 @@ def _loglike_AR1_diagV_fitV(self, param, dK_tilde_dl2_inten = inten_dist2 * K_major \ / 2.0 / l2_inten**2 deriv_c_inten = \ - (np.linalg.multi_dot([invK_tilde_log_SNR, dK_tilde_dl2_inten, - invK_tilde_log_SNR]) / tau2 / 2.0 + (np.linalg.multi_dot([invK_tilde_log_SNR, + dK_tilde_dl2_inten, + invK_tilde_log_SNR]) / tau2 / 2.0 - np.sum(inv_K_tilde * dK_tilde_dl2_inten) / 2.0)\ * dl2_dc_inten # Prior on the length scale @@ -2573,7 +2576,7 @@ def _loglike_AR1_singpara(self, param, XTX, XTDX, XTFX, YTY_diag, deriv_L = np.dot(XTAcorrY, LAMBDA_LTXTAcorrY.T) / sigma2 \ - np.linalg.multi_dot([XTAcorrXL, LAMBDA_LTXTAcorrY, - LAMBDA_LTXTAcorrY.T]) / sigma2 \ + LAMBDA_LTXTAcorrY.T]) / sigma2 \ - np.linalg.solve(LAMBDA_i, XTAcorrXL.T).T * n_V # These terms are used to construct derivative to a1. @@ -2586,7 +2589,7 @@ def _loglike_AR1_singpara(self, param, XTX, XTDX, XTFX, YTY_diag, dXTAcorrX_drho1 = dXTAX_drho1 - dXTAX0_drho1_invX0TAX0_X0TAX \ - dXTAX0_drho1_invX0TAX0_X0TAX.T \ + np.linalg.multi_dot([invX0TAX0_X0TAX.T, dX0TAX0_drho1, - invX0TAX0_X0TAX]) + invX0TAX0_X0TAX]) dLTXTAcorrXL_drho1 = np.linalg.multi_dot([L.T, dXTAcorrX_drho1, L]) dYTAY_drho1 = - YTDY_diag + 2 * rho1 * YTFY_diag @@ -2604,7 +2607,7 @@ def _loglike_AR1_singpara(self, param, XTX, XTDX, XTFX, YTY_diag, - np.dot(dXTAX0_drho1, invX0TAX0_X0TAY) \ - np.dot(invX0TAX0_X0TAX.T, dX0TAY_drho1) \ + np.linalg.multi_dot([invX0TAX0_X0TAX.T, dX0TAX0_drho1, - invX0TAX0_X0TAY]) + invX0TAX0_X0TAY]) deriv_a1 = 2.0 / (np.pi * (1 + a1**2)) \ * (n_V * (- n_run * rho1 / (1 - rho1**2) @@ -2673,8 +2676,9 @@ def _loglike_AR1_null(self, param, YTY_diag, YTDY_diag, YTFY_diag, # preparation for the variable below dYTAcorrY_drho1_ele = dYTAY_drho1[i_v] \ - np.dot(dX0TAY_drho1[:, i_v], invX0TAX0_X0TAY_ele) * 2\ - + np.linalg.multi_dot([invX0TAX0_X0TAY_ele, dX0TAX0_drho1[i_v, :, :], - invX0TAX0_X0TAY_ele]) + + np.linalg.multi_dot([invX0TAX0_X0TAY_ele, + dX0TAX0_drho1[i_v, :, :], + invX0TAX0_X0TAY_ele]) deriv_a1[i_v] = 2 / np.pi / (1 + a1[i_v]**2) \ * (- n_run * rho1[i_v] / (1 - rho1[i_v]**2) - np.einsum('ij,ij', X0TAX0_i[i_v, :, :], @@ -3368,10 +3372,10 @@ def _precompute_ar1_quad_forms_marginalized( for i_r in range(np.size(rho1)): XTAcorrX[i_r, :, :] -= \ np.linalg.multi_dot([XTAX0[i_r, :, :], X0TAX0_i[i_r, :, :], - XTAX0[i_r, :, :].T]) + XTAX0[i_r, :, :].T]) XTAcorrY[i_r, :, :] -= np.linalg.multi_dot([XTAX0[i_r, :, :], - X0TAX0_i[i_r, :, :], - X0TAY[i_r, :, :]]) + X0TAX0_i[i_r, :, :], + X0TAY[i_r, :, :]]) YTAcorrY_diag[i_r, :] -= np.sum( X0TAY[i_r, :, :] * np.dot(X0TAX0_i[i_r, :, :], X0TAY[i_r, :, :]), axis=0) @@ -3637,8 +3641,8 @@ def _fit_RSA_marginalized(self, X, Y, X_base, X0TAX0_i[subj][grid, :, :], (X0TAY[subj][grid, :, :] - np.linalg.multi_dot([XTAX0[subj][grid, :, :].T, - L_LAMBDA_LT[grid, :, :], - sXTAcorrY[subj][grid, :, :]]) + L_LAMBDA_LT[grid, :, :], + sXTAcorrY[subj][grid, :, :]]) * all_SNR_grids[grid])) if np.max(np.abs(param_change)) < self.tol: logger.info('The change of parameters is smaller than ' @@ -3814,7 +3818,8 @@ def _raw_loglike_grids(self, L, s2XTAcorrX, YTAcorrY_diag, LAMBDA_i = np.empty((n_grid, rank, rank)) for grid in np.arange(n_grid): LAMBDA_i[grid, :, :] = np.linalg.multi_dot([L.T, - s2XTAcorrX[grid, :, :], L]) + s2XTAcorrX[grid, :, :], + L]) LAMBDA_i += np.identity(rank) # dimension: n_grid * rank * rank Chol_LAMBDA_i = np.linalg.cholesky(LAMBDA_i) From 86d043e16f36f9a744ed58b4bf40064044af4140 Mon Sep 17 00:00:00 2001 From: David Turner Date: Mon, 30 Oct 2023 13:00:39 -0400 Subject: [PATCH 04/20] Drop 3.11, is that our problem? --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ce5ae772..318477b5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -39,7 +39,7 @@ jobs: strategy: matrix: os: [ubuntu-20.04, macos-latest, macos-latest-xlarge] - python-version: ['3.8', '3.9', '3.10', '3.11'] + python-version: ['3.8', '3.9', '3.10'] steps: - uses: actions/checkout@v2 - uses: mamba-org/setup-micromamba@v1 From cdb2241a2279a12b7acdaeea699b20aa430a482a Mon Sep 17 00:00:00 2001 From: David Turner Date: Mon, 30 Oct 2023 13:05:47 -0400 Subject: [PATCH 05/20] Drop ARM runner. Seems like the ARM runners aren't taking jobs. --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 318477b5..93ad137f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -38,7 +38,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-20.04, macos-latest, macos-latest-xlarge] + os: [ubuntu-20.04, macos-latest] python-version: ['3.8', '3.9', '3.10'] steps: - uses: actions/checkout@v2 From b9d9abe506dc3f921f994559a6fe18e0b28c9919 Mon Sep 17 00:00:00 2001 From: David Turner Date: Mon, 30 Oct 2023 17:14:23 -0400 Subject: [PATCH 06/20] Add artificat upload --- .conda/bin/build | 8 +++++++- .github/workflows/main.yml | 17 +++++++++++++++-- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/.conda/bin/build b/.conda/bin/build index 1967ddb7..b40f4f5b 100755 --- a/.conda/bin/build +++ b/.conda/bin/build @@ -8,6 +8,12 @@ then python_version=3.7 fi +out_dir=$2 +if [ -z "$out_dir" ] +then + out_dir=conda_build_out_dir/ +fi + export BRAINIAK_HOME=$DIR/../../ # See run-tests.sh @@ -28,5 +34,5 @@ then variants="{'CONDA_BUILD_SYSROOT': ['${sdk_path}']}" fi -"$CONDA_HOME"/bin/conda build --python=$python_version \ +"$CONDA_HOME"/bin/conda build --output-folder $out_dir --python=$python_version \ "$variants_prefix" "$variants" "$DIR"/.. diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 93ad137f..348436eb 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,4 +1,10 @@ -on: [pull_request, push] +on: + pull_request: + push: + release: + types: + - published + concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} @@ -51,4 +57,11 @@ jobs: - run: | export CONDA_HOME=$CONDA conda install conda-build - .conda/bin/build ${{ matrix.python-version }} + out_dir=`mktemp -d -t compilation-XXXXXXXXXX` + .conda/bin/build ${{ matrix.python-version }} $out_dir + package_path=`find $out_dir -name "*.tar.bz2"` + echo "Package path: ${{env.package_path}}" + - uses: actions/upload-artifact@v3 + with: + path: ${{env.package_path}} + \ No newline at end of file From baddc33d6705ca62fca811b141bc5a1ea0057b2b Mon Sep 17 00:00:00 2001 From: David Turner Date: Mon, 30 Oct 2023 17:42:42 -0400 Subject: [PATCH 07/20] Fix for artifact upload --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 348436eb..edd04a37 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -60,8 +60,8 @@ jobs: out_dir=`mktemp -d -t compilation-XXXXXXXXXX` .conda/bin/build ${{ matrix.python-version }} $out_dir package_path=`find $out_dir -name "*.tar.bz2"` - echo "Package path: ${{env.package_path}}" + echo "Package path: ${package_path}" - uses: actions/upload-artifact@v3 with: - path: ${{env.package_path}} + path: ${{env.package_path}} \ No newline at end of file From 9e2562e619702571cdce9230707650f3252b6de2 Mon Sep 17 00:00:00 2001 From: David Turner Date: Mon, 30 Oct 2023 18:26:09 -0400 Subject: [PATCH 08/20] Fix artifact upload. --- .github/workflows/main.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index edd04a37..8473b016 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -48,20 +48,24 @@ jobs: python-version: ['3.8', '3.9', '3.10'] steps: - uses: actions/checkout@v2 - - uses: mamba-org/setup-micromamba@v1 + - name: Setup micromamba and boa + uses: mamba-org/setup-micromamba@v1 with: environment-name: test-env create-args: >- python=${{ matrix.python-version }} boa - - run: | + - name: Build and test package + id: build-package + run: | export CONDA_HOME=$CONDA - conda install conda-build out_dir=`mktemp -d -t compilation-XXXXXXXXXX` .conda/bin/build ${{ matrix.python-version }} $out_dir package_path=`find $out_dir -name "*.tar.bz2"` echo "Package path: ${package_path}" + echo "PACKAGE_PATH=${package_path}" >> "$GITHUB_OUTPUT" + - uses: actions/upload-artifact@v3 with: - path: ${{env.package_path}} + path: ${{ steps.build-package.outputs.PACKAGE_PATH }} \ No newline at end of file From ad59732ef51c55a7db8064b7b4446ee3737fbb51 Mon Sep 17 00:00:00 2001 From: David Turner Date: Mon, 30 Oct 2023 18:34:49 -0400 Subject: [PATCH 09/20] Add back conda install build --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8473b016..00d3fd0b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -59,6 +59,7 @@ jobs: id: build-package run: | export CONDA_HOME=$CONDA + conda install conda-build out_dir=`mktemp -d -t compilation-XXXXXXXXXX` .conda/bin/build ${{ matrix.python-version }} $out_dir package_path=`find $out_dir -name "*.tar.bz2"` From 75c1df23e65b213881a2396781627099e519ba6a Mon Sep 17 00:00:00 2001 From: David Turner Date: Mon, 30 Oct 2023 21:22:29 -0400 Subject: [PATCH 10/20] Add test publish code. --- .github/workflows/main.yml | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 00d3fd0b..19da3843 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -69,4 +69,28 @@ jobs: - uses: actions/upload-artifact@v3 with: path: ${{ steps.build-package.outputs.PACKAGE_PATH }} - \ No newline at end of file + + publish_conda: + needs: [conda] + name: Publish to Anaconda + environment: anaconda + permissions: + id-token: write + runs-on: ubuntu-latest +# if: github.event_name == 'release' && github.event.action == 'published' + + steps: + - uses: actions/download-artifact@v3 + with: + name: artifact + path: ${{ steps.build-package.outputs.PACKAGE_PATH }} + + - name: List files in artifact + run: | + ls -l ${{ steps.build-package.outputs.PACKAGE_PATH }} + + - name: Upload to Anaconda + if: github.event_name == 'release' && github.event.action == 'published' + run: | + export CONDA_HOME=$CONDA + anaconda -t ${{ secrets.ANACONDA_TOKEN }} upload ${{ steps.build-package.outputs.PACKAGE_PATH }} --force \ No newline at end of file From a999761d67070799806da4b102feebc3df905df6 Mon Sep 17 00:00:00 2001 From: David Turner Date: Mon, 30 Oct 2023 22:12:54 -0400 Subject: [PATCH 11/20] Dry run anaconda upload. --- .github/workflows/main.yml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 19da3843..0f0705ea 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -44,7 +44,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-20.04, macos-latest] + os: [ubuntu-latest, macos-latest] python-version: ['3.8', '3.9', '3.10'] steps: - uses: actions/checkout@v2 @@ -90,7 +90,16 @@ jobs: ls -l ${{ steps.build-package.outputs.PACKAGE_PATH }} - name: Upload to Anaconda - if: github.event_name == 'release' && github.event.action == 'published' + # if: github.event_name == 'release' && github.event.action == 'published' run: | - export CONDA_HOME=$CONDA - anaconda -t ${{ secrets.ANACONDA_TOKEN }} upload ${{ steps.build-package.outputs.PACKAGE_PATH }} --force \ No newline at end of file + export ANACONDA_API_TOKEN=${{ secrets.ANACONDA_TOKEN }} + SHORT_SHA="$(git rev-parse --short $GITHUB_SHA)" + for dirname in ${{ steps.build-package.outputs.PACKAGE_PATH }}/*; do + if [ -d "$dirname" ]; then + for filename in $dirname/*; do + if [ "${filename: -8}" == ".tar.bz2" ]; then + echo "anaconda upload $filename" + # anaconda upload $filename + fi + done + fi \ No newline at end of file From 8262764e746e453d8824af344fe4fea2ccc0d609 Mon Sep 17 00:00:00 2001 From: David Turner Date: Mon, 30 Oct 2023 22:57:30 -0400 Subject: [PATCH 12/20] Remove getting git SHA --- .github/workflows/main.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0f0705ea..45aa5e74 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -93,7 +93,6 @@ jobs: # if: github.event_name == 'release' && github.event.action == 'published' run: | export ANACONDA_API_TOKEN=${{ secrets.ANACONDA_TOKEN }} - SHORT_SHA="$(git rev-parse --short $GITHUB_SHA)" for dirname in ${{ steps.build-package.outputs.PACKAGE_PATH }}/*; do if [ -d "$dirname" ]; then for filename in $dirname/*; do From bf29a9614bb1dcbb25af56f62ffe3c5b6510dea7 Mon Sep 17 00:00:00 2001 From: David Turner Date: Mon, 30 Oct 2023 23:56:54 -0400 Subject: [PATCH 13/20] Missing done statement --- .github/workflows/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 45aa5e74..d0403771 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -101,4 +101,5 @@ jobs: # anaconda upload $filename fi done - fi \ No newline at end of file + fi + done \ No newline at end of file From aaa265d7d8edc30b83da8fc1dbc07638897a2d95 Mon Sep 17 00:00:00 2001 From: David Turner Date: Tue, 31 Oct 2023 01:07:18 -0400 Subject: [PATCH 14/20] Fix directories --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d0403771..181a181e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -60,7 +60,7 @@ jobs: run: | export CONDA_HOME=$CONDA conda install conda-build - out_dir=`mktemp -d -t compilation-XXXXXXXXXX` + out_dir="${{ matrix.os }}-build" .conda/bin/build ${{ matrix.python-version }} $out_dir package_path=`find $out_dir -name "*.tar.bz2"` echo "Package path: ${package_path}" @@ -102,4 +102,4 @@ jobs: fi done fi - done \ No newline at end of file + done From bb06358b485329734158507b6defac7af0095e81 Mon Sep 17 00:00:00 2001 From: David Turner Date: Tue, 31 Oct 2023 01:09:13 -0400 Subject: [PATCH 15/20] Fix directories again --- .github/workflows/main.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 181a181e..d36a63ac 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -62,9 +62,7 @@ jobs: conda install conda-build out_dir="${{ matrix.os }}-build" .conda/bin/build ${{ matrix.python-version }} $out_dir - package_path=`find $out_dir -name "*.tar.bz2"` - echo "Package path: ${package_path}" - echo "PACKAGE_PATH=${package_path}" >> "$GITHUB_OUTPUT" + echo "PACKAGE_PATH=${out_dir}" >> "$GITHUB_OUTPUT" - uses: actions/upload-artifact@v3 with: From 69a3d514d0d6002a2bc0a5e3091e40c7ef6d2171 Mon Sep 17 00:00:00 2001 From: David Turner Date: Tue, 31 Oct 2023 09:28:57 -0400 Subject: [PATCH 16/20] Use find for anaconda upload. --- .github/workflows/main.yml | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d36a63ac..13aa8c12 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -84,20 +84,10 @@ jobs: path: ${{ steps.build-package.outputs.PACKAGE_PATH }} - name: List files in artifact - run: | - ls -l ${{ steps.build-package.outputs.PACKAGE_PATH }} + run: find ${{ steps.build-package.outputs.PACKAGE_PATH }} -type f -name "*.tar.bz2" - name: Upload to Anaconda # if: github.event_name == 'release' && github.event.action == 'published' run: | export ANACONDA_API_TOKEN=${{ secrets.ANACONDA_TOKEN }} - for dirname in ${{ steps.build-package.outputs.PACKAGE_PATH }}/*; do - if [ -d "$dirname" ]; then - for filename in $dirname/*; do - if [ "${filename: -8}" == ".tar.bz2" ]; then - echo "anaconda upload $filename" - # anaconda upload $filename - fi - done - fi - done + find ${{ steps.build-package.outputs.PACKAGE_PATH }} -type f -name "*.tar.bz2" -exec echo "anaconda upload {}" \; From 09346f4b8b025dddcae673a74166cd581a966ea6 Mon Sep 17 00:00:00 2001 From: David Turner Date: Tue, 31 Oct 2023 11:25:17 -0400 Subject: [PATCH 17/20] Uncomment if --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 13aa8c12..1b961c68 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -75,7 +75,7 @@ jobs: permissions: id-token: write runs-on: ubuntu-latest -# if: github.event_name == 'release' && github.event.action == 'published' + if: github.event_name == 'release' && github.event.action == 'published' steps: - uses: actions/download-artifact@v3 @@ -87,7 +87,7 @@ jobs: run: find ${{ steps.build-package.outputs.PACKAGE_PATH }} -type f -name "*.tar.bz2" - name: Upload to Anaconda - # if: github.event_name == 'release' && github.event.action == 'published' + if: github.event_name == 'release' && github.event.action == 'published' run: | export ANACONDA_API_TOKEN=${{ secrets.ANACONDA_TOKEN }} find ${{ steps.build-package.outputs.PACKAGE_PATH }} -type f -name "*.tar.bz2" -exec echo "anaconda upload {}" \; From 5f428687ab0973d2ab45f4012e7d798a134a7ce5 Mon Sep 17 00:00:00 2001 From: David Turner Date: Thu, 2 Nov 2023 13:39:23 -0400 Subject: [PATCH 18/20] Fix YAML syntax error. --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1b961c68..8122fc20 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -75,7 +75,7 @@ jobs: permissions: id-token: write runs-on: ubuntu-latest - if: github.event_name == 'release' && github.event.action == 'published' + if: github.event_name == 'release' && github.event.action == 'published' steps: - uses: actions/download-artifact@v3 From d11c4609e2614055666abc87a3e965e713fca17e Mon Sep 17 00:00:00 2001 From: David Turner Date: Mon, 13 Nov 2023 15:15:39 -0500 Subject: [PATCH 19/20] Add pypi release --- .github/workflows/main.yml | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d0403771..4e314ef5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -102,4 +102,33 @@ jobs: fi done fi - done \ No newline at end of file + done + + dist: + name: Distribution build + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - uses: hynek/build-and-inspect-python-package@v1 + + publish_pypi: + name: Publish to PyPI + needs: [dist] + environment: + name: pypi + url: https://pypi.org/p/sp-repo-review + permissions: + id-token: write + runs-on: ubuntu-latest + if: github.event_name == 'release' && github.event.action == 'published' + steps: + - uses: actions/download-artifact@v3 + with: + name: Packages + path: dist + + - uses: pypa/gh-action-pypi-publish@release/v1 \ No newline at end of file From 2a0becf8e9307b9ee919da8bf79dbe5657a338a9 Mon Sep 17 00:00:00 2001 From: David Turner Date: Mon, 13 Nov 2023 15:16:19 -0500 Subject: [PATCH 20/20] Add pypi release --- .github/workflows/main.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4e314ef5..8b99d87d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -77,7 +77,7 @@ jobs: permissions: id-token: write runs-on: ubuntu-latest -# if: github.event_name == 'release' && github.event.action == 'published' + if: github.event_name == 'release' && github.event.action == 'published' steps: - uses: actions/download-artifact@v3 @@ -118,9 +118,6 @@ jobs: publish_pypi: name: Publish to PyPI needs: [dist] - environment: - name: pypi - url: https://pypi.org/p/sp-repo-review permissions: id-token: write runs-on: ubuntu-latest