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

CI: DockerHub and canary tests #1

Open
angelhof opened this issue Apr 21, 2023 · 4 comments
Open

CI: DockerHub and canary tests #1

angelhof opened this issue Apr 21, 2023 · 4 comments

Comments

@angelhof
Copy link
Member

Add a CI component that pushes to docker hub every release and add canary tests, after that, installation can also just download this DockerHub image instead of rebuilding everytime.

@mohamadaminkarami
Copy link

mohamadaminkarami commented Nov 10, 2024

Hi, I would like to address this issue. Below are the steps I plan to take. Please approve them or explain any concerns you have:

  1. I will create a GitHub Actions workflow that builds and pushes each image generated by the "make build" command in the docker-hadoop submodule directory.

  2. I will change the docker-compose.yml file in the docker-hadoop submodule to pull the images from DockerHub. After that, the "build" target in Makefile can be removed.

  3. For the canary tests, I will use the mentioned docker-compose.yml to pull images, run containers, and execute commands to ensure that the containers work properly. (Please let me know if you have specific commands you would like to execute.)

After your approval, I will start.

@angelhof
Copy link
Member Author

Thanks @mohamadaminkarami, this would be great! You can start by including a test that runs this sample script https://github.com/binpash/dish/blob/main/scripts/sample.sh and we will see where we take it from there

@mohamadaminkarami
Copy link

Sure.

@mohamadaminkarami
Copy link

mohamadaminkarami commented Nov 11, 2024

Hi Professor @angelhof,

I wanted to inform you that I have implemented the changes and tested them. Before merging, I need some configurations and updates from your side.

  1. Please create two secrets named DOCKER_USERNAME and DOCKER_TOKEN in the dish repository, setting them to your desired username and token (or password) respectively. (link for help)

  2. Create a repository for each image on DockerHub with the following names:

  • pash-base
  • hadoop-pash-base
  • hadoop-namenode
  • hadoop-datanode
  • hadoop-resourcemanager
  • hadoop-nodemanager
  • hadoop-historyserver
  • hadoop-submit (note: this image is not used in the docker-compose file, but it is built in the "build" target of the Makefile)
  1. The repository uses the docker-hadoop submodule, for which I don’t have read/write access. Therefore, I had to create a fork of this repository to make changes. Here is the PR for the changes on this submodule. After merging it, I can update the submodule in my fork and create a PR for the dish repository.

PR link: binpash/docker-hadoop#4

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

No branches or pull requests

2 participants