Changeset 28113


Ignore:
Timestamp:
02/29/24 11:41:13 (13 months ago)
Author:
jdquinn
Message:

CHG: Generalizing packaging scripts for macOS

Location:
issm/trunk-jpl
Files:
2 deleted
9 copied

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/jenkins/mac-silicon-binaries-matlab

    r28107 r28113  
    2020        --disable-dependency-tracking \
    2121        --with-matlab-dir=${MATLAB_PATH} \
    22         --with-fortran-lib="/usr/local/Cellar/gcc/13.1.0/lib/gcc/13/libgfortran.a /usr/local/Cellar/gcc/13.1.0/lib/gcc/13/libquadmath.a /usr/local/Cellar/gcc/13.1.0/lib/gcc/13/gcc/x86_64-apple-darwin21/13/libgcc.a" \
     22        --with-python-version=3.9 \
     23        --with-python-dir=/System/Volumes/Data/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9 \
     24        --with-python-numpy-dir=/Library/Python/3.9/site-packages/numpy/core/include/numpy \
     25        --with-fortran-lib="/usr/local/Cellar/gcc/12.2.0/lib/gcc/12/libgfortran.a /usr/local/Cellar/gcc/12.2.0/lib/gcc/12/libquadmath.a /usr/local/Cellar/gcc/12.2.0/lib/gcc/12/gcc/x86_64-apple-darwin21/12/libgcc.a" \
    2326        --with-mpi-include=${ISSM_DIR}/externalpackages/petsc/install/include \
    2427        --with-mpi-libflags="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lmpi -lmpicxx -lmpifort" \
     
    4750        autotools       install-mac.sh
    4851        cmake           install.sh
    49         petsc           install-3.14-mac-static.sh
     52        petsc           install-3.17-mac-silicon-static.sh
    5053        gsl                     install-static.sh
    5154        boost           install-1.7-mac-static.sh
  • issm/trunk-jpl/jenkins/mac-silicon-binaries-python-3

    r28107 r28113  
    1717        --enable-standalone-libraries \
    1818        --disable-dependency-tracking \
     19        --with-matlab-dir=${MATLAB_PATH} \
    1920        --with-python-version=3.9 \
    20         --with-python-dir=/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9 \
     21        --with-python-dir=/System/Volumes/Data/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9 \
    2122        --with-python-numpy-dir=/Library/Python/3.9/site-packages/numpy/core/include/numpy \
    22         --with-fortran-lib="/usr/local/Cellar/gcc/13.1.0/lib/gcc/13/libgfortran.a /usr/local/Cellar/gcc/13.1.0/lib/gcc/13/libquadmath.a /usr/local/Cellar/gcc/13.1.0/lib/gcc/13/gcc/x86_64-apple-darwin21/13/libgcc.a" \
     23        --with-fortran-lib="/usr/local/Cellar/gcc/12.2.0/lib/gcc/12/libgfortran.a /usr/local/Cellar/gcc/12.2.0/lib/gcc/12/libquadmath.a /usr/local/Cellar/gcc/12.2.0/lib/gcc/12/gcc/x86_64-apple-darwin21/12/libgcc.a" \
    2324        --with-mpi-include=${ISSM_DIR}/externalpackages/petsc/install/include \
    2425        --with-mpi-libflags="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lmpi -lmpicxx -lmpifort" \
     
    4748        autotools       install-mac.sh
    4849        cmake           install.sh
    49         petsc           install-3.14-mac-static.sh
     50        petsc           install-3.17-mac-silicon-static.sh
    5051        gsl                     install-static.sh
    5152        boost           install-1.7-mac-static.sh
  • issm/trunk-jpl/packagers/mac/commit_for_signing-issm-mac-binaries.sh

    r28108 r28113  
    22
    33################################################################################
    4 # Commits ISSM distributable package with MATLAB API for macOS running on Intel
    5 # to repository for signing. This repository is polled by a project running on
    6 # a JPL Cybersecurity Jenkins server and performs the actual signing and
     4# Commits ISSM distributable package with for macOS running on to repository
     5# for signing. This repository is polled by a project running on a JPL
     6# Cybersecurity Jenkins server and performs the actual signing and
    77# notarization.
     8#
     9# NOTE: The following variables *must* be defined in order for this script to
     10# work properly,
     11#
     12#               COMPRESSED_PKG
     13#               ISSM_BINARIES_REPO_PASS
     14#               ISSM_BINARIES_REPO_USER
     15#               SIGNED_REPO_COPY
     16#               SIGNED_REPO_URL
     17#               UNSIGNED_REPO_COPY
     18#               UNSIGNED_REPO_URL
    819#
    920# Options:
     
    1425#                                               build is aborted to allow for subsequent fresh build.
    1526#
    16 # NOTE:
    17 # - Assumes that the following constants are defined,
    18 #
    19 #               COMPRESSED_PKG
    20 #               ISSM_BINARIES_REPO_PASS
    21 #               ISSM_BINARIES_REPO_USER
    22 #               SIGNED_REPO_COPY
    23 #               SIGNED_REPO_URL
    24 #
    2527# See also:
    26 # - packagers/mac/intel/complete-issm-mac-intel-binaries-matlab.sh
    27 # - packagers/mac/intel/sign-issm-mac-intel-binaries-matlab.sh
     28# - packagers/mac/<ARCH>/complete-issm-mac-<ARCH>-binaries-<API>.sh
    2829#
    2930# TODO:
  • issm/trunk-jpl/packagers/mac/complete-issm-mac-intel-binaries-matlab.sh

    r28112 r28113  
    3636#       Jenkins server. Debugging may be performed locally by running,
    3737#
    38 #               packagers/mac/intel/sign-issm-mac-intel-binaries-matlab.sh
     38#               packagers/mac/sign-issm-mac-binaries.sh
    3939#
    4040#       with "AD_IDENTITY", "AD_USERNAME", and "ASC_PROVIDER" hardcoded to Apple
    4141#       Developer credentials (make sure to also set keychain password in
    42 #       "ALTOOL_PASSWORD").
     42#       "ALTOOL_PASSWORD") and "PKG" and "VARIANT_REPO_SUBPATH" properly set for
     43#       the package signing to be tested (should match constants "PKG" and
     44#       "REPO_BASE_URL" defined in this script).
    4345# - Removing stdout/stderr redirections to null device (> /dev/null 2>&1) can
    4446#       help debug potential SVN issues.
     
    5456#       (requires 'Credentials Binding Plugin') with 'Credentials' select menu set
    5557#       to "jenkins/****** (SVN repository for ISSM binaries)".
     58#
     59# TODO:
     60# - Generalize these wrapper scripts even further by defining only constants in
     61# config file (the rest of the script is identical).
    5662################################################################################
    5763
     
    114120# Package
    115121if [ ${package} -eq 1 ]; then
    116         ./packagers/mac/intel/package-issm-mac-intel-binaries-matlab.sh $1
     122        ./packagers/mac/intel/package-issm-mac-binaries-matlab.sh $1
    117123
    118124        if [ $? -ne 0 ]; then
     
    126132# Commit for signing
    127133if [ ${sign} -eq 1 ]; then
    128         ./packagers/mac/intel/commit_for_signing-issm-mac-intel-binaries-matlab.sh $1
     134        ./packagers/mac/intel/commit_for_signing-issm-mac-binaries.sh $1
    129135
    130136        if [ $? -ne 0 ]; then
  • issm/trunk-jpl/packagers/mac/complete-issm-mac-intel-binaries-python-3.sh

    r28112 r28113  
    3636#       Jenkins server. Debugging may be performed locally by running,
    3737#
    38 #               packagers/mac/intel/sign-issm-mac-intel-binaries-python-3.sh
     38#               packagers/mac/sign-issm-mac-binaries.sh
    3939#
    4040#       with "AD_IDENTITY", "AD_USERNAME", and "ASC_PROVIDER" hardcoded to Apple
    4141#       Developer credentials (make sure to also set keychain password in
    42 #       "ALTOOL_PASSWORD").
     42#       "ALTOOL_PASSWORD") and "PKG" and "VARIANT_REPO_SUBPATH" properly set for
     43#       the package signing to be tested (should match constants "PKG" and
     44#       "REPO_BASE_URL" defined in this script).
    4345# - Removing stdout/stderr redirections to null device (> /dev/null 2>&1) can
    4446#       help debug potential SVN issues.
     
    5456#       (requires 'Credentials Binding Plugin') with 'Credentials' select menu set
    5557#       to "jenkins/****** (SVN repository for ISSM binaries)".
     58#
     59# TODO:
     60# - Generalize these wrapper scripts even further by defining only constants in
     61# config file (the rest of the script is identical).
    5662################################################################################
    5763
     
    113119# Package
    114120if [ ${package} -eq 1 ]; then
    115         ./packagers/mac/intel/package-issm-mac-intel-binaries-python-3.sh $1
     121        ./packagers/mac/package-issm-mac-binaries-python-3.sh $1
    116122
    117123        if [ $? -ne 0 ]; then
     
    124130# Commit for signing
    125131if [ ${sign} -eq 1 ]; then
    126         ./packagers/mac/intel/commit_for_signing-issm-mac-intel-binaries-python-3.sh $1
     132        ./packagers/mac/commit_for_signing-issm-mac-binaries.sh $1
    127133
    128134        if [ $? -ne 0 ]; then
  • issm/trunk-jpl/packagers/mac/complete-issm-mac-silicon-binaries-matlab.sh

    r28108 r28113  
    3636#       Jenkins server. Debugging may be performed locally by running,
    3737#
    38 #               packagers/mac/intel/sign-issm-mac-intel-binaries-matlab.sh
     38#               packagers/mac/sign-issm-mac-binaries.sh
    3939#
    4040#       with "AD_IDENTITY", "AD_USERNAME", and "ASC_PROVIDER" hardcoded to Apple
    4141#       Developer credentials (make sure to also set keychain password in
    42 #       "ALTOOL_PASSWORD").
     42#       "ALTOOL_PASSWORD") and "PKG" and "VARIANT_REPO_SUBPATH" properly set for
     43#       the package signing to be tested (should match constants "PKG" and
     44#       "REPO_BASE_URL" defined in this script).
    4345# - Removing stdout/stderr redirections to null device (> /dev/null 2>&1) can
    4446#       help debug potential SVN issues.
     
    5456#       (requires 'Credentials Binding Plugin') with 'Credentials' select menu set
    5557#       to "jenkins/****** (SVN repository for ISSM binaries)".
     58#
     59# TODO:
     60# - Generalize these wrapper scripts even further by defining only constants in
     61# config file (the rest of the script is identical).
    5662################################################################################
    5763
     
    114120# Package
    115121if [ ${package} -eq 1 ]; then
    116         ./packagers/mac/intel/package-issm-mac-intel-binaries-matlab.sh $1
     122        ./packagers/mac/intel/package-issm-mac-binaries-matlab.sh $1
    117123
    118124        if [ $? -ne 0 ]; then
     
    126132# Commit for signing
    127133if [ ${sign} -eq 1 ]; then
    128         ./packagers/mac/intel/commit_for_signing-issm-mac-intel-binaries-matlab.sh $1
     134        ./packagers/mac/intel/commit_for_signing-issm-mac-binaries.sh $1
    129135
    130136        if [ $? -ne 0 ]; then
  • issm/trunk-jpl/packagers/mac/complete-issm-mac-silicon-binaries-python-3.sh

    r28112 r28113  
    3636#       Jenkins server. Debugging may be performed locally by running,
    3737#
    38 #               packagers/mac/intel/sign-issm-mac-intel-binaries-python-3.sh
     38#               packagers/mac/sign-issm-mac-binaries.sh
    3939#
    4040#       with "AD_IDENTITY", "AD_USERNAME", and "ASC_PROVIDER" hardcoded to Apple
    4141#       Developer credentials (make sure to also set keychain password in
    42 #       "ALTOOL_PASSWORD").
     42#       "ALTOOL_PASSWORD") and "PKG" and "VARIANT_REPO_SUBPATH" properly set for
     43#       the package signing to be tested (should match constants "PKG" and
     44#       "REPO_BASE_URL" defined in this script).
    4345# - Removing stdout/stderr redirections to null device (> /dev/null 2>&1) can
    4446#       help debug potential SVN issues.
     
    5456#       (requires 'Credentials Binding Plugin') with 'Credentials' select menu set
    5557#       to "jenkins/****** (SVN repository for ISSM binaries)".
     58#
     59# TODO:
     60# - Generalize these wrapper scripts even further by defining only constants in
     61# config file (the rest of the script is identical).
    5662################################################################################
    5763
     
    113119# Package
    114120if [ ${package} -eq 1 ]; then
    115         ./packagers/mac/intel/package-issm-mac-intel-binaries-python-3.sh $1
     121        ./packagers/mac/package-issm-mac-binaries-python-3.sh $1
    116122
    117123        if [ $? -ne 0 ]; then
     
    124130# Commit for signing
    125131if [ ${sign} -eq 1 ]; then
    126         ./packagers/mac/intel/commit_for_signing-issm-mac-intel-binaries-python-3.sh $1
     132        ./packagers/mac/commit_for_signing-issm-mac-binaries.sh $1
    127133
    128134        if [ $? -ne 0 ]; then
  • issm/trunk-jpl/packagers/mac/package-issm-mac-binaries-matlab.sh

    r28108 r28113  
    22
    33################################################################################
    4 # Packages and tests ISSM distributable package with MATLAB API for macOS
    5 # running on Intel.
     4# Packages and tests ISSM distributable package with MATLAB API for macOS.
    65#
    76# Options:
     
    98#                                               for some reason but build is valid.
    109#
    11 # NOTE:
    12 # - Assumes that the following constants are defined,
     10# NOTE: The following variables *must* be defined in order for this script to
     11# work properly,
    1312#
    1413#               COMPRESSED_PKG
     
    1716#
    1817# See also:
    19 # - packagers/mac/intel/complete-issm-mac-intel-binaries-matlab.sh
    20 # - packagers/mac/intel/sign-issm-mac-intel-binaries-matlab.sh
     18# - packagers/mac/<ARCH>/complete-issm-mac-<ARCH>-binaries-<API>.sh
    2119################################################################################
    2220
  • issm/trunk-jpl/packagers/mac/sign-issm-mac-binaries.sh

    r28108 r28113  
    55# Cybersecurity server for signing macOS applications. Polls SCM of the
    66# Subversion repository hosted at
    7 # https://issm.ess.uci.edu/svn/issm-binaries/mac/intel/matlab/unsigned to
     7# https://issm.ess.uci.edu/svn/issm-binaries/mac/<ARCH>/<API>[/<VER>]/unsigned to
    88# trigger new builds.
    99#
     
    2020#               - the 'Repository URL' text field should be set to
    2121#
    22 #               https://issm.ess.uci.edu/svn/issm-binaries/mac/intel/matlab/unsigned
     22#               https://issm.ess.uci.edu/svn/issm-binaries/mac/<ARCH>/<API>[/<VER>]/unsigned
     23#
     24#               where,
     25#
     26#               <ARCH>                  'intel' or 'silicon'
     27#               <API>[/<VER>]   'matlab' or 'python/3'
    2328#
    2429#               - the 'Credentials' select menu should be set to the new credentials
     
    7176## Constants
    7277#
     78
     79## NOTE: The following need to be set with the proper credentials
     80#
    7381AD_IDENTITY="**********" # Apple Developer identity
    7482AD_USERNAME="**********" # Apple Developer username
    7583ALTOOL_PASSWORD="@keychain:**********" # altool password (assumed to be stored in keychain)
    7684ASC_PROVIDER="**********"
     85
     86## NOTE: The following need to be set for the particular signing job (see comments for options)
     87#
     88PKG="ISSM-macOS-<ARCH>-<API>[-<VER>]" # <ARCH>: 'Intel' or 'Silicon'; <API>[-<VER>]: 'MATLAB' or 'Python-3'
     89VARIANT_REPO_SUBPATH="<ARCH>/<API>[/<VER>]" # <ARCH>: 'intel' or 'silicon'; <API>[-<VER>]: 'matlab' or 'python/3'
     90
    7791MAX_SVN_ATTEMPTS=10
    7892NOTARIZATION_CHECK_ATTEMPTS=20
     
    8195NOTARIZATION_LOGFILE_PATH="."
    8296PASSWORD=${ISSM_BINARIES_PASS}
    83 PKG="ISSM-macOS-Intel-MATLAB"
     97REPO_URL="https://issm.ess.uci.edu/svn/issm-binaries"
    8498SIGNED_REPO_COPY="./signed"
    85 SIGNED_REPO_URL="https://issm.ess.uci.edu/svn/issm-binaries/mac/intel/matlab/signed"
     99SIGNED_REPO_URL="${REPO_URL}/${VARIANT_REPO_SUBPATH}/signed"
    86100SIGNING_LOCK_FILE="signing.lock"
    87101SUCCESS_LOGFILE="${SIGNED_REPO_COPY}/success.log"
    88102UNSIGNED_REPO_COPY="./unsigned"
    89 UNSIGNED_REPO_URL="https://issm.ess.uci.edu/svn/issm-binaries/mac/intel/matlab/unsigned"
     103UNSIGNED_REPO_URL="${REPO_URL}/${VARIANT_REPO_SUBPATH}/unsigned"
    90104USERNAME=${ISSM_BINARIES_USER}
    91105
Note: See TracChangeset for help on using the changeset viewer.