Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DAT-4562 Yum/RPM-based Linux distribution #127

Merged
merged 138 commits into from
Nov 7, 2023
Merged

DAT-4562 Yum/RPM-based Linux distribution #127

merged 138 commits into from
Nov 7, 2023

Conversation

jandroav
Copy link
Contributor

@jandroav jandroav commented Nov 2, 2023

jandroav added 30 commits October 30, 2023 09:16
…pm conversion step

The deb package upload step has been commented out temporarily to address issues with the GPG passphrase. In the meantime, a new step has been added to convert the deb package to an rpm package using the 'alien' tool. This will allow for the creation of an rpm package for distribution.
…keep version

feat(package-deb.yml): add installation of guix and createrepo-c to support additional package management functionality
…the package release number

fix(package-deb.yml): fix the command to create the repository metadata
The command to install guix was not being executed correctly. The curl command was not being piped to the bash command. This has been fixed by separating the curl command and the bash command with a newline.
…ript by specifying output file name

fix(package-deb.yml): fix createrepo-c command by using correct flag for delta generation
…fix missing dependency

fix(package-deb.yml): remove unnecessary installation of guix and guix-install.sh
fix(package-deb.yml): fix typo in createrepo-c command
…reaterepo-c to generate repository metadata
…or compatibility with guix installation

fix(package-deb.yml): add guix pull command to ensure latest packages are installed before running createrepo-c command
fix(package-deb.yml): fix typo in createrepo-c command
feat(package-deb.yml): add installation and configuration of guix package for rpm conversion
feat(package-deb.yml): add upload of rpm package to S3 bucket for repository
…ng due to PS1 environment variable being set
…fix missing dependency

fix(package-deb.yml): remove unnecessary steps for installing guix and setting up PS1 environment variable
fix(package-deb.yml): replace 'createrepo-c' command with 'guix install createrepo-c' to fix missing command error
fix(package-deb.yml): fix incorrect command syntax for 'createrepo-c' command
fix(package-deb.yml): replace 'aws s3 sync' command with 'guix pull' and 'guix install createrepo-c' commands to fix missing command error and update dependencies
…ge manager

feat(package-deb.yml): add setup for Python 3.11 to support Python dependencies
fix(package-deb.yml): fix directory path for rpm package upload and update createrepo-c installation command
fix(package-deb.yml): fix directory path for yum repository sync command
… install command

chore(package-deb.yml): fix createrepo-c command to use correct flag for deltas
…encies to ensure latest versions are used

fix(package-deb.yml): add '-y' flag to 'apt-get install' command to automatically confirm installation of dependencies
fix(package-deb.yml): update apt-get install command to include required dependencies for converting deb to rpm
fix(package-deb.yml): fix createrepo command to generate repository metadata correctly
fix(package-deb.yml): fix aws s3 sync command to correctly sync the yum repository with S3
…b to rpm

The package-deb.yml workflow file has been updated to install the necessary dependencies for converting a deb package to an rpm package. The following dependencies have been added:

- libbz2-dev
- libxml2-dev
- libssl-dev
- zlib1g-dev
- pkg-config
- libglib2.0-dev
- liblzma-dev
- libsqlite0-dev
- libsqlite3-dev
- librpm-dev
- libzstd-dev
- python3.9-dev
- cmake

These dependencies are required for the conversion process and have been added to ensure successful execution of the workflow.
…t install command to improve build time and reduce package size

feat(package-deb.yml): add steps to build and install createrepo_c tool for generating RPM repository metadata
feat(package-deb.yml): update createrepo command to use the installed createrepo_c tool for generating RPM repository metadata
feat(package-deb.yml): add step to sync RPM packages to S3 bucket for hosting the repository
…install command

The 'libcurl4-openssl-dev', 'libbz2-dev', 'libxml2-dev', 'libssl-dev', 'zlib1g-dev', 'pkg-config', 'libglib2.0-dev', 'liblzma-dev', 'libsqlite0-dev', 'libsqlite3-dev', 'librpm-dev', 'libzstd-dev' packages are not needed for the build process.
…python3 instead of python to support Python 3

feat(package-deb.yml): add cmake to the list of packages to be installed to support building the project
…irectory path for generating deltas

feat(package-deb.yml): update aws s3 sync command to sync the entire yum directory to the S3 bucket
…itory for yum packages

feat(package-deb.yml): add ls command to list files before creating repository for debugging purposes
feat(package-deb.yml): add aws s3 sync command to sync yum repository with S3 bucket for distribution
…flag for improved performance

fix(package-deb.yml): fix aws s3 sync command to sync the 'yum' directory to the correct S3 bucket path
… command

The -deltas flag is not supported by the createrepo command. Removing this flag to prevent any errors during the package creation process.
…ead of repoyum.liquibase.com for consistency
jandroav added 28 commits November 2, 2023 10:09
The rpm_sign.exp script is necessary for signing RPM packages during the build process. By adding it to the workflow and making it executable, we ensure that the script can be used when needed.
…sing dependency

feat(package-deb.yml): set pinentry mode to 'loopback' to avoid user interaction during GPG import
The path to the RPM file in the rpm_sign.exp script was incorrect. This commit fixes the path to point to the correct location of the RPM file.
… unnecessary chmod command

fix(package-deb.yml): fix path to rpm_sign.exp script in the sh command to sign the rpm package
chore(package-deb.yml): remove unused rpm_sign.exp download and chmod commands
chore(package-deb.yml): remove commented out code related to rpm signing
chore(package-deb.yml): remove unused ls -ltr command
chore(package-deb.yml): remove unused sh "./rpm_sign.exp" command
chore(package-deb.yml): remove unused sudo rpmsign command
chore(package-deb.yml): remove unused export RPM_MACROS_PATH and export GPG_TTY commands
chore(package-deb.yml): remove unused echo commands related to gpg configuration
chore(package-deb.yml): remove unused gpg-connect-agent and gpg --with-keygrip commands
chore(package-deb.yml): remove unused hexpassphrase and keygrip variables
chore(package-deb.yml): remove unused echo commands related to gpg configuration
chore(package-deb.yml): remove unused echo commands related to gpg configuration
chore(package-deb.yml): remove unused echo commands related to gpg configuration
chore(package-deb.yml): remove unused echo commands related to gpg configuration
chore(package-deb.yml): remove unused echo commands related to gpg configuration
chore(package-deb.yml): remove unused echo commands related to gpg configuration
chore(package-deb.yml): remove unused echo commands related to gpg configuration
chore(package-deb.yml): remove unused echo commands related to gpg configuration
chore(package-deb.yml): remove unused echo commands related to gpg configuration
chore(package-deb.yml): remove unused echo commands related to gpg configuration
chore(package-deb.yml): remove unused echo commands related to gpg configuration
chore(package-deb.yml): remove unused echo commands related to gpg configuration
chore(package-deb.yml): remove unused echo commands related to gpg configuration
chore(package-deb.yml): remove unused echo commands related to gpg configuration
chore(package-deb.yml): remove unused echo commands related to gpg configuration
chore(package-deb.yml): remove unused echo commands related to gpg configuration
chore(package-deb.yml): remove unused echo commands related to gpg configuration
chore(package-deb.yml): remove unused echo commands related to gpg configuration
chore(package-deb.yml): remove unused echo commands related to gpg configuration
chore(package
…on-interactive mode

feat(package-deb.yml): improve security by using --batch flag in rpmsign command to prevent pinentry prompts
…stead of 'rpmsign'

feat(package-deb.yml): add support for specifying GPG secret key ID as a secret to be used for signing the rpm package
…igning RPM package

The GPG secret key name used for signing the RPM package was updated to "Liquibase" to ensure consistency and clarity in the configuration.
…secret key ID

feat(package-deb.yml): add command to check installed gpg-pubkey before signing rpm package
…package

feat(package-deb.yml): export GPG secret key and import it for RPM package signing
…c.key to liquibase.asc for clarity

fix(package-deb.yml): change the imported GPG key filename from public.key to liquibase.asc for consistency
fix(package-deb.yml): update the GPG key name from ${{ secrets.GPG_SECRET_KEY_ID }} to liquibase for clarity
fix(package-deb.yml): update the GPG key name in the rpm signing command from ${{ secrets.GPG_SECRET_KEY_ID }} to liquibase for consistency
…me of the gpg-pubkey to improve readability
…ackage

feat(package-deb.yml): add command to display contents of GPG public keyring for debugging purposes
…s of pubring.kbx file

chore(package-deb.yml): remove unused step to upload rpm package
…macros file for improved configuration and security

The RPM signing process in the package-deb.yml workflow has been updated to use a custom RPM macros file. This change improves the configuration and security of the signing process. The following changes were made:

- A new file, ~/.rpmmacros, is created.
- The necessary configuration options are added to the ~/.rpmmacros file.
- The RPM signing command is updated to use the custom RPM macros file.

This change ensures that the RPM signing process is properly configured and secure.
chore(package-deb.yml): add step to display rpmmacros file contents for debugging purposes
…in the Convert deb to rpm step

fix(package-deb.yml): remove unnecessary configuration of GPG key and signing of rpm package steps
…es and secrets

feat(package-deb.yml): add step to import GPG key using crazy-max/ghaction-import-gpg action
feat(package-deb.yml): add step to sign rpm package using .github/sign_artifact.sh script
feat(package-deb.yml): move signed rpm package to createrepo_folder before uploading to S3
…x packaging" for clarity

chore(package-deb.yml): rename job from "upload_deb" to "upload_packages" to reflect the inclusion of other package types in the future
… package

The pinentry-tty package was being installed unnecessarily in the workflow. This package is not required for the workflow to function properly, so it was removed to simplify the workflow and reduce unnecessary dependencies.
@jandroav jandroav merged commit e953c87 into main Nov 7, 2023
@jandroav jandroav deleted the DAT-4562 branch November 7, 2023 13:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant