 Hi, thank you for joining me in the session. I hope you have a good conference today. I'm Chris Wu, and this is my talk today about Adopt Automation Workflow in HireEd. To ensure the best quality and connection, this talk is pre-recorded, and I will take the question in live at the end of the talk. Today, I'm joining from Okinawa, Japan. I'm a full-stack JUPO developer. I've worked with JUPO for 12 years since JUPO 6. I was Taiwan JUPO user group leader and love to contribute to open source and share experience about JUPO. I'll mention some product and service today in this talk that we are using in the university. However, I must disclaim the OISG University does not endorse them in this talk. Okay, let's start from our migration from two years ago. We migrated to Cloud WebOps platform because first, our organization plan has been changed. I did want our team to maintain our own service and internal, external facing websites. They will focus on the infra and the research-related services. We are a small team with only four members, including two multimedia editors, one content editor to support the user and the basic site's building. And I'm a full-stack developer, the only one. So we need to focus on creating features and products for our users and reduce the time spending on DevOps and maintenance. At the end, we moved to WebOps platform, which is Pantheon. We migrated six sites in total, two of them were upgraded and rebuilt with Drupal 8. After migration, this is the basic workflow of all websites without automation. There is no local DevSite needed. We just need to spin up Multidav to do development. I began to think about implement automation workflow into the organization for some reasons. Allow me to give you some background of our university. OISG is a unique university in Japan. It is national-funded directly by the Japanese Cabinet Office. We offer only PhD education with cross-field research and education. Although it is in Japan, English is the operating language, including all instructions. We have 40% international members in OIST. Every year, we fly the excellent faculty and students from the world because of the uniqueness and its size. Things are moving quite active and we have to optimize our workflow. The main three points to go automation workflow include, first, capacity. As I mentioned before, we are a small team and we have very limited capacity resources. I met Drupal on NGO and P.O. Bob at the DrupalCon Global earlier this year. It's common that one developer to handle the website in NGO. And another reason, sometimes the budget could be restricted due to various situation like COVID-19. Administrative division are usually on the edge to be cut. Second, stability. Because of the capacity, it is costly to have a dedicated QA person and difficult to review the codes that often. Especially how can I review my own code with myself? We have a Drupal 7 size with more than 400 organic groups of unit, division, and student clubs. Stable deployment workflow without risk is essential to the higher education organization. And the last, uncertainty. Higher ed is a place that a lot innovation created by these happens every day. When there is a journal paper published on nature science, it draws a lot of attention and create a huge spike of traffic to our website. On the other hand, OIST in Okinawa has an important duty to bring the education to the local society and sometimes share the resource wisdom. Because of COVID-19, we have to turn community events online because lots of members don't know Japanese, cannot read the news. We created a website to provide them the situation and information of travel and migration situation in the first place, which is always in Japanese. So we need to deal with the uncertainties. We need the automation workflow to make sure the stability of every deployment. Last year, we started two websites project and both of them are built with Drupal 8 and the automation workflow. There are three main goals we wanted to involve when we create a workflow. First, to be able to adopt our agile management. We want the workflow to match the way we manage the task in agile with Gira Scrum board. It enables us to work parallel. Each issue requires different input from our team. For me, I often jump between a couple issues and resolve one after another and push to the multi-dab site. Each issue may require various time to review or discuss before it could be deployed to the live site. With the agile management, all the team member can know the overall status and take on the task. For example, if I finish a prototype of a new content type, the content editor will know which multi-dab to test and then follow up with the client later. So this is the next goal, able to review the code change easily. We want it to be easy to review code changes because we are using Gira for project and ticket management. With Pentium, it is not possible to reference a commit easily in Gira. Although they provide a quick silver to send a comment to Gira, it is not very useful. With GitHub or Bitbucket, we can easily link a comment to the issue by mentioning the issue key. Git repo on Pentium is too basic. We couldn't even see the commit when it is a merge commit. It is recommended to use at least a Git client to look up for Git history. We also wanted to review the code together and use the pull request feature on the GitHub before we merge to master. The only way is to host your code on a better Git server or cloud service. And the last goal of the automation workflow, of course, to be able to run the test and deploy it automatically. The auto test must include PHP code, sender check, unit test, visual regression test, and also end-to-end test. So let's cast some magic and then let's run it automatically. In our automation workflow, it includes these tools and services. GitHub, CircleCI, and Lendo are the key to the workflow. It is also possible to replace them with service you prefer or in the current workflow. With Terminus, the Pentium COI tool, it has an integrated build tool to start a project. It allows user to choose GitHub or Bitbucket to pair with the CircleCI or use GitHub for both server and CR owner. The Terminus build tool doesn't include a local Dev site. I integrate Lendo into the project so that I can build the site locally with a Docker container. Lendo is compatible with various server stacks, including LAMP or CMS, including Drupal Gymnolo WordPress, as well as the web apps platform such as Pentium, platform SH and Lagoon with MSI. Once I integrate the Lendo for local Dev, I realize I have two upstream and it becomes a very difficult challenge to me. Mainly, there was a lot of conflict back and forth. I was pulling my hair and it took me some time to pave the way and make sure it runs smooth. Initially, I stick with the modded Dev site that I created to match the ticket number in year and trigger an automatic pushback commit to GitHub. This setup allows us to use modded Dev for quick feature review without going through CI. Once satisfied, we can create pull requests and let the workflow run an integrated test. However, when we started to pull the code from the Pantheon repository because lots of conflict, I started to track down the issue to see why this happened. So, long story short, it is because Pantheon doesn't support running Composer yet. In the Terminus BL tool, there is a workflow chart from GitHub via CircleCI and then to the Pantheon. Lendo is not included for the log of that. It implies the device should commit to the Git server and it doesn't reveal the possible conflict if users try to sync the code with Pantheon Git repo. If we look up the Git ignore file, you will understand why it caused this conflict. Because Pantheon cannot run Composer, therefore it needs the vendor, core, contribute module and themes in the Git commit. But they are designed not to commit to GitHub repo. We can find that there is a tricky line in the Git ignore file, the cut line. Before the line ignore, those files will be downloaded by Composer. After the CI automation, those lines are deleted in order to use Git to commit and deploy the code and order the module vendors to Pantheon. This difference results the difficulty situation and conflict local tab. So in the end, we have to keep the local code sync with GitHub. When we need the mod.dev side to review the issue with client, we use as the FTP only. Because Lendo pull can download code file and the database together, we must be careful when putting the data without code from Pantheon. There is also a drawback that we cannot use Lendo switch command to switch the mod.dev because it involves the Git branch checkout in the process. Because the two repos have too many difference, so they cannot get well together. However, there is a good news right now. So Composer will be able to run on Pantheon after push the Composer lock to the server. It is still in beta, but if it works well, we will be able to work with single upstream again. So this is our journey to adopt the automation workflow in our organization. Usually when the web team is small, people don't think about the automation so often. This is a good time to do some magic. So I believe it is a very good investment in the organization. This is Chris. So thank you for your listening today. I will take some questions now. And we have Chris. Hello. Yeah. So how did we go with the polls? Let's see. Yeah, it looks like only a few company has less than five. And I'm surprised that maybe I'm the one percent or five percent with only me in the team. Yeah. Maybe people can discuss it in the forum as well. But even from outside, while we would register as larger than X, those people are then sliced up. They don't all work on the same site. So I think in my experience, it's pretty common to have a small team working on a site like yourself. And it's very interesting. Like I'm very interesting how you've had to work around these problems, especially the Composer one, which seems to be pretty common with platform testing. I've been using Composer for a while. And I was using the LogoDap, which is easily, but I do have the problem when I try to submit to Pantheon with the CI workflow. So Scott in the chat is saying the integrated Composer will be soon available with Pantheon. So I'm really looking forward to it. There is still some issues. I'm trying to work with them to resolve to make sure the workflow goes smooth after it's released. So I see there is also a question about are many organizations in Japan using Drupal and Pantheon? For Pantheon, I don't know the stats. Maybe Scott can help. But there are a lot of Drupal sites running and also company build the Drupal sites. This morning there was also another Japanese company who do Drupal, which is Anai. And couple companies I know in Japan as well. What led you to choosing Pantheon? Yeah, I described before because it was a little bit, the situation has been decided before I joined to the graduate university. And the IT want us to move our website, the public facing and internal facing website to our own service. And we have to maintain it by ourselves. So we need integrated web apps platform instead of mixed stacks using AWS several service together. Otherwise I couldn't manage those service and also keep building features. So that's why we decided to move. Yeah, I really admire how you've like seeing that graph and just seeing how, I mean, it looks very simple and it's never easy to glue it all together like that. But yeah, you've really, I think you've come up with a really, really good solution. So because we have more and more sites to be expected to be built soon. And then I realized I couldn't manually manage them one by one, although we have the professional services to help us to update the core, but still have a CI CD workflow with test is definitely a good benefit. So we did a chat in the group. We've got a minute, minute and a half left. We did have one other poll item there around workflow. That's a good number. And then plan to do it within the next six months. That's great. I just think it's really good to hear your perspective on this and to have Chris is the best, get to know him, there you go. Michael is the manager of our team. He's really a good person and to work with. Oh, cool. I was gonna say, you must know Michael. Oh, perfect. Okay, we've got 30 seconds left. Is there anything you wanna, like any way for folks to follow you on Twitter or social media or? Oh yeah. There is Twitter and you can contact me with the email. Yeah. Thanks screenshot people. Cool. On that note, thanks, thanks Chris. Amazing production quality and look forward to catching up with you. Yeah, thank you to you. Nice to meet you. Yeah, thank you. Cheers. Bye. Cheers.